snowflake-ml-python 1.20.0__tar.gz → 1.21.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.20.0 → snowflake_ml_python-1.21.0}/CHANGELOG.md +49 -5
- {snowflake_ml_python-1.20.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.21.0}/PKG-INFO +53 -7
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/pyproject.toml +2 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/platform_capabilities.py +36 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/_internal/arrow_ingestor.py +67 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_connector.py +103 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +8 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/keras.py +25 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/lightgbm.py +27 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/xgboost.py +25 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/experiment_tracking.py +93 -3
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/utils.py +6 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/feature_view.py +34 -24
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/protocols.py +3 -0
- snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/payload_utils.py +761 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +95 -8
- snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +92 -0
- snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/scripts/startup.sh +112 -0
- snowflake_ml_python-1.21.0/snowflake/ml/jobs/_utils/spec_utils.py +53 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/stage_utils.py +22 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/types.py +14 -7
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/job.py +2 -8
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/manager.py +57 -135
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/model_version_impl.py +67 -14
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/model_ops.py +32 -6
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/service_ops.py +9 -4
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/service.py +69 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handler.py +8 -2
- snowflake_ml_python-1.20.0/snowflake/ml/model/_packager/model_handlers/huggingface_pipeline.py → snowflake_ml_python-1.21.0/snowflake/ml/model/_packager/model_handlers/huggingface.py +203 -76
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +6 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/core.py +305 -8
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/utils.py +13 -4
- snowflake_ml_python-1.21.0/snowflake/ml/model/compute_pool.py +2 -0
- snowflake_ml_python-1.21.0/snowflake/ml/model/models/huggingface.py +285 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/models/huggingface_pipeline.py +19 -208
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/type_hints.py +5 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +2 -2
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +12 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +12 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +5 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/html_utils.py +67 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0/snowflake_ml_python.egg-info}/PKG-INFO +53 -7
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/SOURCES.txt +5 -1
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/requires.txt +2 -0
- snowflake_ml_python-1.20.0/snowflake/ml/jobs/_utils/payload_utils.py +0 -763
- snowflake_ml_python-1.20.0/snowflake/ml/jobs/_utils/spec_utils.py +0 -466
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/README.md +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/env_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/feature_store/feature_store.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/function_payload_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_env/model_env.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/keras.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_packager.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/_manager/model_manager.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/registry/registry.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,14 +1,62 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.21.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
* Inference Autocapture (Preview): The `create_service` API will now accept `autocapture` as a new argument to indicate
|
|
8
|
+
whether inference data will be captured.
|
|
9
|
+
* DataConnector: Added `to_huggingface_dataset()` method for converting Snowflake data to HuggingFace datasets.
|
|
10
|
+
Supports both in-memory `Dataset` (streaming=False) and streaming `IterableDataset` (streaming=True) modes.
|
|
11
|
+
* Introducing `snowflake.ml.model.models.huggingface.TransformersPipeline` model which will replace object
|
|
12
|
+
`snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel`. This is a wrapper class to
|
|
13
|
+
`transformers.Pipeline` model. Currently, following tasks
|
|
14
|
+
are supported to log without manually specifying model signatures:
|
|
15
|
+
* "fill-mask"
|
|
16
|
+
* "question-answering"
|
|
17
|
+
* "summarization"
|
|
18
|
+
* "table-question-answering"
|
|
19
|
+
* "text2text-generation"
|
|
20
|
+
* "text-classification" (alias "sentiment-analysis" available)
|
|
21
|
+
* "text-generation"
|
|
22
|
+
* "token-classification" (alias "ner" available)
|
|
23
|
+
* "translation"
|
|
24
|
+
* "translation_xx_to_yy"
|
|
25
|
+
* "zero-shot-classification"
|
|
26
|
+
which provides utility to log the model without loading the model in memory.
|
|
4
27
|
|
|
5
28
|
### Bug Fixes
|
|
6
29
|
|
|
7
30
|
* Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
|
|
8
31
|
instead of raising an exception.
|
|
32
|
+
* Registry: `ModelVersion.run()` will now raise a `ValueError` if the model does not support running on warehouse
|
|
33
|
+
(e.g. SPCS-only models) and `service_name` is not provided.
|
|
9
34
|
|
|
10
35
|
### Behavior Changes
|
|
11
36
|
|
|
37
|
+
* ML Job: The `additional_payloads` (Preview API) behavior is changing.
|
|
38
|
+
Use the `imports` argument to declare additional dependencies, such as zip files and Python modules.
|
|
39
|
+
Local directories and Python files are automatically compressed, and their internal layout is determined by the
|
|
40
|
+
specified import path. The import path applies only to local directories, Python files and staged python files;
|
|
41
|
+
it has no effect on other import types. When referencing files in a stage, only individual files
|
|
42
|
+
are supported—not directories.
|
|
43
|
+
* Online Inference (PuPr): `list_services()` now shows internal endpoint that does not need EAI to call from another
|
|
44
|
+
SPCS node or Notebook.
|
|
45
|
+
* Inference Autocapture (Preview): `list_services()` now shows if model service has autocapture enabled.
|
|
46
|
+
* Experiment Tracking (PuPr): `ExperimentTracking` is now a singleton class.
|
|
47
|
+
|
|
48
|
+
### Deprecations
|
|
49
|
+
|
|
50
|
+
* Deprecating `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel` and will be removed in later
|
|
51
|
+
version with a notice.
|
|
52
|
+
|
|
53
|
+
## 1.20.0
|
|
54
|
+
|
|
55
|
+
### Bug Fixes
|
|
56
|
+
|
|
57
|
+
* Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
|
|
58
|
+
instead of raising an exception.
|
|
59
|
+
|
|
12
60
|
### New Features
|
|
13
61
|
|
|
14
62
|
* Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
|
|
@@ -39,8 +87,6 @@ mv.create_service(
|
|
|
39
87
|
)
|
|
40
88
|
```
|
|
41
89
|
|
|
42
|
-
### Deprecations
|
|
43
|
-
|
|
44
90
|
## 1.19.0 (11-13-2025)
|
|
45
91
|
|
|
46
92
|
### Bug Fixes
|
|
@@ -147,8 +193,6 @@ options = {
|
|
|
147
193
|
* Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
|
|
148
194
|
To read more <https://github.com/huggingface/transformers/pull/31165>
|
|
149
195
|
|
|
150
|
-
### New Features
|
|
151
|
-
|
|
152
196
|
## 1.14.0 (09-18-2025)
|
|
153
197
|
|
|
154
198
|
### Bug Fixes
|
{snowflake_ml_python-1.20.0/snowflake_ml_python.egg-info → snowflake_ml_python-1.21.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.21.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:
|
|
@@ -230,7 +230,7 @@ Classifier: Topic :: Software Development :: Libraries
|
|
|
230
230
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
231
231
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
232
232
|
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
233
|
-
Requires-Python: <3.
|
|
233
|
+
Requires-Python: <3.14,>=3.9
|
|
234
234
|
Description-Content-Type: text/markdown
|
|
235
235
|
License-File: LICENSE.txt
|
|
236
236
|
Requires-Dist: anyio<5,>=3.5.0
|
|
@@ -307,7 +307,9 @@ Requires-Dist: torchdata<1,>=0.4; extra == "torch"
|
|
|
307
307
|
Provides-Extra: transformers
|
|
308
308
|
Requires-Dist: sentence-transformers<4,>=2.7.0; extra == "transformers"
|
|
309
309
|
Requires-Dist: sentencepiece<0.2.0,>=0.1.95; extra == "transformers"
|
|
310
|
+
Requires-Dist: tokenizers<1,>=0.15.1; extra == "transformers"
|
|
310
311
|
Requires-Dist: torch<3,>=2.0.1; extra == "transformers"
|
|
312
|
+
Requires-Dist: transformers!=4.51.3,<5,>=4.39.3; extra == "transformers"
|
|
311
313
|
Dynamic: license-file
|
|
312
314
|
|
|
313
315
|
# Snowflake ML Python
|
|
@@ -415,15 +417,63 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
415
417
|
|
|
416
418
|
# Release History
|
|
417
419
|
|
|
418
|
-
## 1.
|
|
420
|
+
## 1.21.0
|
|
421
|
+
|
|
422
|
+
### New Features
|
|
423
|
+
|
|
424
|
+
* Inference Autocapture (Preview): The `create_service` API will now accept `autocapture` as a new argument to indicate
|
|
425
|
+
whether inference data will be captured.
|
|
426
|
+
* DataConnector: Added `to_huggingface_dataset()` method for converting Snowflake data to HuggingFace datasets.
|
|
427
|
+
Supports both in-memory `Dataset` (streaming=False) and streaming `IterableDataset` (streaming=True) modes.
|
|
428
|
+
* Introducing `snowflake.ml.model.models.huggingface.TransformersPipeline` model which will replace object
|
|
429
|
+
`snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel`. This is a wrapper class to
|
|
430
|
+
`transformers.Pipeline` model. Currently, following tasks
|
|
431
|
+
are supported to log without manually specifying model signatures:
|
|
432
|
+
* "fill-mask"
|
|
433
|
+
* "question-answering"
|
|
434
|
+
* "summarization"
|
|
435
|
+
* "table-question-answering"
|
|
436
|
+
* "text2text-generation"
|
|
437
|
+
* "text-classification" (alias "sentiment-analysis" available)
|
|
438
|
+
* "text-generation"
|
|
439
|
+
* "token-classification" (alias "ner" available)
|
|
440
|
+
* "translation"
|
|
441
|
+
* "translation_xx_to_yy"
|
|
442
|
+
* "zero-shot-classification"
|
|
443
|
+
which provides utility to log the model without loading the model in memory.
|
|
419
444
|
|
|
420
445
|
### Bug Fixes
|
|
421
446
|
|
|
422
447
|
* Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
|
|
423
448
|
instead of raising an exception.
|
|
449
|
+
* Registry: `ModelVersion.run()` will now raise a `ValueError` if the model does not support running on warehouse
|
|
450
|
+
(e.g. SPCS-only models) and `service_name` is not provided.
|
|
424
451
|
|
|
425
452
|
### Behavior Changes
|
|
426
453
|
|
|
454
|
+
* ML Job: The `additional_payloads` (Preview API) behavior is changing.
|
|
455
|
+
Use the `imports` argument to declare additional dependencies, such as zip files and Python modules.
|
|
456
|
+
Local directories and Python files are automatically compressed, and their internal layout is determined by the
|
|
457
|
+
specified import path. The import path applies only to local directories, Python files and staged python files;
|
|
458
|
+
it has no effect on other import types. When referencing files in a stage, only individual files
|
|
459
|
+
are supported—not directories.
|
|
460
|
+
* Online Inference (PuPr): `list_services()` now shows internal endpoint that does not need EAI to call from another
|
|
461
|
+
SPCS node or Notebook.
|
|
462
|
+
* Inference Autocapture (Preview): `list_services()` now shows if model service has autocapture enabled.
|
|
463
|
+
* Experiment Tracking (PuPr): `ExperimentTracking` is now a singleton class.
|
|
464
|
+
|
|
465
|
+
### Deprecations
|
|
466
|
+
|
|
467
|
+
* Deprecating `snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel` and will be removed in later
|
|
468
|
+
version with a notice.
|
|
469
|
+
|
|
470
|
+
## 1.20.0
|
|
471
|
+
|
|
472
|
+
### Bug Fixes
|
|
473
|
+
|
|
474
|
+
* Experiment Tracking (PuPr): Reaching the run metadata size limit in `log_metrics` or `log_params` will warn the user
|
|
475
|
+
instead of raising an exception.
|
|
476
|
+
|
|
427
477
|
### New Features
|
|
428
478
|
|
|
429
479
|
* Registry (PrPr): Introducing vLLM as a backend inference engine. The `create_service` API will now
|
|
@@ -454,8 +504,6 @@ mv.create_service(
|
|
|
454
504
|
)
|
|
455
505
|
```
|
|
456
506
|
|
|
457
|
-
### Deprecations
|
|
458
|
-
|
|
459
507
|
## 1.19.0 (11-13-2025)
|
|
460
508
|
|
|
461
509
|
### Bug Fixes
|
|
@@ -562,8 +610,6 @@ options = {
|
|
|
562
610
|
* Registry: Dropping support for deprecated `conversational` task type for Huggingface models.
|
|
563
611
|
To read more <https://github.com/huggingface/transformers/pull/31165>
|
|
564
612
|
|
|
565
|
-
### New Features
|
|
566
|
-
|
|
567
613
|
## 1.14.0 (09-18-2025)
|
|
568
614
|
|
|
569
615
|
### Bug Fixes
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
name = "snowflake-ml-python"
|
|
7
7
|
description = "The machine learning client library that is used for interacting with Snowflake to build machine learning solutions."
|
|
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", "Programming Language :: Python :: 3.12", "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
|
-
requires-python = ">=3.9, <3.
|
|
9
|
+
requires-python = ">=3.9, <3.14"
|
|
10
10
|
dynamic = [ "version", "readme",]
|
|
11
11
|
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow<19.0.0", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "s3fs>=2024.6.1,<2026", "scikit-learn<1.8", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.17.3,<4", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "snowflake.core>=1.0.2,<2", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost<4",]
|
|
12
12
|
[[project.authors]]
|
|
@@ -35,7 +35,7 @@ prophet = [ "prophet>=1.1.0, <2",]
|
|
|
35
35
|
streamlit = [ "streamlit>=1.30.0,<2",]
|
|
36
36
|
tensorflow = [ "tensorflow>=2.17.0,<3",]
|
|
37
37
|
torch = [ "torch>=2.0.1,<3", "torchdata>=0.4,<1",]
|
|
38
|
-
transformers = [ "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "torch>=2.0.1,<3",]
|
|
38
|
+
transformers = [ "sentence-transformers>=2.7.0,<4", "sentencepiece>=0.1.95,<0.2.0", "tokenizers>=0.15.1,<1", "torch>=2.0.1,<3", "transformers>=4.39.3,<5,!=4.51.3",]
|
|
39
39
|
|
|
40
40
|
[tool.setuptools.package-data]
|
|
41
41
|
"*" = [ "*",]
|
|
@@ -18,6 +18,8 @@ logger = logging.getLogger(__name__)
|
|
|
18
18
|
LIVE_COMMIT_PARAMETER = "ENABLE_LIVE_VERSION_IN_SDK"
|
|
19
19
|
INLINE_DEPLOYMENT_SPEC_PARAMETER = "ENABLE_INLINE_DEPLOYMENT_SPEC_FROM_CLIENT_VERSION"
|
|
20
20
|
SET_MODULE_FUNCTIONS_VOLATILITY_FROM_MANIFEST = "SET_MODULE_FUNCTIONS_VOLATILITY_FROM_MANIFEST"
|
|
21
|
+
ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS = "ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS"
|
|
22
|
+
FEATURE_MODEL_INFERENCE_AUTOCAPTURE = "FEATURE_MODEL_INFERENCE_AUTOCAPTURE"
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
class PlatformCapabilities:
|
|
@@ -80,6 +82,12 @@ class PlatformCapabilities:
|
|
|
80
82
|
def is_live_commit_enabled(self) -> bool:
|
|
81
83
|
return self._get_bool_feature(LIVE_COMMIT_PARAMETER, False)
|
|
82
84
|
|
|
85
|
+
def is_model_method_signature_parameters_enabled(self) -> bool:
|
|
86
|
+
return self._get_bool_feature(ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS, False)
|
|
87
|
+
|
|
88
|
+
def is_inference_autocapture_enabled(self) -> bool:
|
|
89
|
+
return self._is_feature_enabled(FEATURE_MODEL_INFERENCE_AUTOCAPTURE)
|
|
90
|
+
|
|
83
91
|
@staticmethod
|
|
84
92
|
def _get_features(session: snowpark_session.Session) -> dict[str, Any]:
|
|
85
93
|
try:
|
|
@@ -182,3 +190,31 @@ class PlatformCapabilities:
|
|
|
182
190
|
f"current={current_version}, feature={feature_version}, enabled={result}"
|
|
183
191
|
)
|
|
184
192
|
return result
|
|
193
|
+
|
|
194
|
+
def _is_feature_enabled(self, feature_name: str) -> bool:
|
|
195
|
+
"""Check if the feature parameter value belongs to enabled values.
|
|
196
|
+
|
|
197
|
+
Args:
|
|
198
|
+
feature_name: The name of the feature to retrieve.
|
|
199
|
+
|
|
200
|
+
Returns:
|
|
201
|
+
bool: True if the value is "ENABLED" or "ENABLED_PUBLIC_PREVIEW",
|
|
202
|
+
False if the value is "DISABLED", "DISABLED_PRIVATE_PREVIEW", or not set.
|
|
203
|
+
|
|
204
|
+
Raises:
|
|
205
|
+
ValueError: If the feature value is set but not one of the recognized values.
|
|
206
|
+
"""
|
|
207
|
+
value = self.features.get(feature_name)
|
|
208
|
+
if value is None:
|
|
209
|
+
logger.debug(f"Feature {feature_name} not found.")
|
|
210
|
+
return False
|
|
211
|
+
|
|
212
|
+
if isinstance(value, str):
|
|
213
|
+
value_str = str(value)
|
|
214
|
+
if value_str.upper() in ["ENABLED", "ENABLED_PUBLIC_PREVIEW"]:
|
|
215
|
+
return True
|
|
216
|
+
elif value_str.upper() in ["DISABLED", "DISABLED_PRIVATE_PREVIEW"]:
|
|
217
|
+
return False
|
|
218
|
+
else:
|
|
219
|
+
raise ValueError(f"Invalid feature parameter value: {value} for feature {feature_name}")
|
|
220
|
+
raise ValueError(f"Invalid feature parameter string value: {value} for feature {feature_name}")
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import base64
|
|
1
2
|
import collections
|
|
2
3
|
import logging
|
|
3
4
|
import os
|
|
5
|
+
import re
|
|
4
6
|
import time
|
|
5
7
|
from typing import TYPE_CHECKING, Any, Deque, Iterator, Optional, Sequence, Union
|
|
6
8
|
|
|
@@ -165,8 +167,71 @@ class ArrowIngestor(data_ingestor.DataIngestor, mixins.SerializableSessionMixin)
|
|
|
165
167
|
# Re-shuffle input files on each iteration start
|
|
166
168
|
if shuffle:
|
|
167
169
|
np.random.shuffle(sources)
|
|
168
|
-
|
|
169
|
-
|
|
170
|
+
try:
|
|
171
|
+
pa_dataset: pds.Dataset = pds.dataset(sources, format=format, **self._kwargs)
|
|
172
|
+
return pa_dataset
|
|
173
|
+
except Exception as e:
|
|
174
|
+
self._tmp_debug_parquet_invalid(e, sources)
|
|
175
|
+
|
|
176
|
+
def _tmp_debug_parquet_invalid(self, e: Exception, sources: list[Any]) -> None:
|
|
177
|
+
# Attach rich debug info to help diagnose intermittent Parquet footer/magic byte errors
|
|
178
|
+
debug_parts: list[str] = []
|
|
179
|
+
debug_parts.append("SNOWML DEBUG: Failed to construct Arrow Dataset")
|
|
180
|
+
debug_parts.append(
|
|
181
|
+
"SNOWML DEBUG: " f"data_sources_count={len(self._data_sources)} " f"resolved_sources_count={len(sources)}"
|
|
182
|
+
)
|
|
183
|
+
# Try to include the exact file path mentioned by pyarrow, if present
|
|
184
|
+
error_text = str(e)
|
|
185
|
+
snow_paths: list[str] = []
|
|
186
|
+
try:
|
|
187
|
+
# Extract snow://... tokens possibly wrapped in quotes
|
|
188
|
+
for match in re.finditer(r'(snow://[^\s\'"]+)', error_text):
|
|
189
|
+
token = match.group(1).rstrip(").,;]")
|
|
190
|
+
snow_paths.append(token)
|
|
191
|
+
except Exception:
|
|
192
|
+
pass
|
|
193
|
+
fs = self._kwargs.get("filesystem")
|
|
194
|
+
if fs is not None:
|
|
195
|
+
# Always include a directory listing with sizes for context
|
|
196
|
+
try:
|
|
197
|
+
debug_parts.append("SNOWML DEBUG: Listing resolved sources with sizes:")
|
|
198
|
+
for s in sources:
|
|
199
|
+
try:
|
|
200
|
+
info = fs.info(s)
|
|
201
|
+
size = info.get("size", None)
|
|
202
|
+
md5 = info.get("md5", None)
|
|
203
|
+
debug_parts.append(f" - {s} size={size} md5={md5}")
|
|
204
|
+
except Exception as le:
|
|
205
|
+
debug_parts.append(f" - {s} info_failed={le}")
|
|
206
|
+
except Exception as le:
|
|
207
|
+
debug_parts.append(f"SNOWML DEBUG: listing sources failed: {le}")
|
|
208
|
+
# If pyarrow referenced a specific file, dump its full contents (base64) for inspection
|
|
209
|
+
for path in snow_paths[:1]: # usually only one path appears in the message
|
|
210
|
+
try:
|
|
211
|
+
info = fs.info(path)
|
|
212
|
+
size = info.get("size", None)
|
|
213
|
+
debug_parts.append(f"SNOWML DEBUG: Inspecting referenced file: {path} size={size}")
|
|
214
|
+
with fs.open(path, "rb") as f:
|
|
215
|
+
content = f.read()
|
|
216
|
+
magic_head = content[:4]
|
|
217
|
+
magic_tail = content[-4:] if content else b""
|
|
218
|
+
looks_like_parquet = (magic_head == b"PAR1") and (magic_tail == b"PAR1")
|
|
219
|
+
debug_parts.append(
|
|
220
|
+
"SNOWML DEBUG: "
|
|
221
|
+
f"file_magic_head={magic_head!r} "
|
|
222
|
+
f"file_magic_tail={magic_tail!r} "
|
|
223
|
+
f"parquet_magic_detected={looks_like_parquet}"
|
|
224
|
+
)
|
|
225
|
+
b64 = base64.b64encode(content).decode("ascii")
|
|
226
|
+
debug_parts.append("SNOWML DEBUG: file_content_base64 (entire file):")
|
|
227
|
+
debug_parts.append(b64)
|
|
228
|
+
except Exception as fe:
|
|
229
|
+
debug_parts.append(f"SNOWML DEBUG: failed to read referenced file {path}: {fe}")
|
|
230
|
+
else:
|
|
231
|
+
debug_parts.append("SNOWML DEBUG: No filesystem available; cannot inspect files")
|
|
232
|
+
debug_message = "\n".join(debug_parts)
|
|
233
|
+
# Re-raise with augmented message to surface in stacktrace
|
|
234
|
+
raise RuntimeError(f"{e}\n{debug_message}") from e
|
|
170
235
|
|
|
171
236
|
def _get_batches_from_buffer(self, batch_size: int) -> dict[str, npt.NDArray[Any]]:
|
|
172
237
|
"""Generate new batches from the existing record batch buffer."""
|
{snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/data/data_connector.py
RENAMED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import (
|
|
3
|
+
TYPE_CHECKING,
|
|
4
|
+
Any,
|
|
5
|
+
Generator,
|
|
6
|
+
Literal,
|
|
7
|
+
Optional,
|
|
8
|
+
Sequence,
|
|
9
|
+
TypeVar,
|
|
10
|
+
Union,
|
|
11
|
+
overload,
|
|
12
|
+
)
|
|
3
13
|
|
|
4
14
|
import numpy.typing as npt
|
|
5
15
|
from typing_extensions import deprecated
|
|
@@ -11,6 +21,7 @@ from snowflake.ml.data._internal.arrow_ingestor import ArrowIngestor
|
|
|
11
21
|
from snowflake.snowpark import context as sp_context
|
|
12
22
|
|
|
13
23
|
if TYPE_CHECKING:
|
|
24
|
+
import datasets as hf_datasets
|
|
14
25
|
import pandas as pd
|
|
15
26
|
import ray
|
|
16
27
|
import tensorflow as tf
|
|
@@ -257,6 +268,97 @@ class DataConnector:
|
|
|
257
268
|
except ImportError as e:
|
|
258
269
|
raise ImportError("Ray is not installed, please install ray in your local environment.") from e
|
|
259
270
|
|
|
271
|
+
@overload
|
|
272
|
+
def to_huggingface_dataset(
|
|
273
|
+
self,
|
|
274
|
+
*,
|
|
275
|
+
streaming: Literal[False] = ...,
|
|
276
|
+
limit: Optional[int] = ...,
|
|
277
|
+
) -> "hf_datasets.Dataset":
|
|
278
|
+
...
|
|
279
|
+
|
|
280
|
+
@overload
|
|
281
|
+
def to_huggingface_dataset(
|
|
282
|
+
self,
|
|
283
|
+
*,
|
|
284
|
+
streaming: Literal[True],
|
|
285
|
+
limit: Optional[int] = ...,
|
|
286
|
+
batch_size: int = ...,
|
|
287
|
+
shuffle: bool = ...,
|
|
288
|
+
drop_last_batch: bool = ...,
|
|
289
|
+
) -> "hf_datasets.IterableDataset":
|
|
290
|
+
...
|
|
291
|
+
|
|
292
|
+
@telemetry.send_api_usage_telemetry(
|
|
293
|
+
project=_PROJECT,
|
|
294
|
+
subproject_extractor=lambda self: type(self).__name__,
|
|
295
|
+
func_params_to_log=["streaming", "limit", "batch_size", "shuffle", "drop_last_batch"],
|
|
296
|
+
)
|
|
297
|
+
def to_huggingface_dataset(
|
|
298
|
+
self,
|
|
299
|
+
*,
|
|
300
|
+
streaming: bool = False,
|
|
301
|
+
limit: Optional[int] = None,
|
|
302
|
+
batch_size: int = 1024,
|
|
303
|
+
shuffle: bool = False,
|
|
304
|
+
drop_last_batch: bool = False,
|
|
305
|
+
) -> "Union[hf_datasets.Dataset, hf_datasets.IterableDataset]":
|
|
306
|
+
"""Retrieve the Snowflake data as a HuggingFace Dataset.
|
|
307
|
+
|
|
308
|
+
Args:
|
|
309
|
+
streaming: If True, returns an IterableDataset that streams data in batches.
|
|
310
|
+
If False (default), returns an in-memory Dataset.
|
|
311
|
+
limit: Maximum number of rows to load. If None, loads all rows.
|
|
312
|
+
batch_size: Size of batches for internal data retrieval.
|
|
313
|
+
shuffle: Whether to shuffle the data. If True, files will be shuffled and rows
|
|
314
|
+
in each file will also be shuffled.
|
|
315
|
+
drop_last_batch: Whether to drop the last batch if it's smaller than batch_size.
|
|
316
|
+
|
|
317
|
+
Returns:
|
|
318
|
+
A HuggingFace Dataset (in-memory) or IterableDataset (streaming).
|
|
319
|
+
"""
|
|
320
|
+
import datasets as hf_datasets
|
|
321
|
+
|
|
322
|
+
if streaming:
|
|
323
|
+
return self._to_huggingface_iterable_dataset(
|
|
324
|
+
limit=limit,
|
|
325
|
+
batch_size=batch_size,
|
|
326
|
+
shuffle=shuffle,
|
|
327
|
+
drop_last_batch=drop_last_batch,
|
|
328
|
+
)
|
|
329
|
+
else:
|
|
330
|
+
return hf_datasets.Dataset.from_pandas(self._ingestor.to_pandas(limit))
|
|
331
|
+
|
|
332
|
+
def _to_huggingface_iterable_dataset(
|
|
333
|
+
self,
|
|
334
|
+
*,
|
|
335
|
+
limit: Optional[int],
|
|
336
|
+
batch_size: int,
|
|
337
|
+
shuffle: bool,
|
|
338
|
+
drop_last_batch: bool,
|
|
339
|
+
) -> "hf_datasets.IterableDataset":
|
|
340
|
+
"""Create a HuggingFace IterableDataset that streams data in batches."""
|
|
341
|
+
import datasets as hf_datasets
|
|
342
|
+
|
|
343
|
+
def generator() -> Generator[dict[str, Any], None, None]:
|
|
344
|
+
rows_yielded = 0
|
|
345
|
+
for batch in self._ingestor.to_batches(batch_size, shuffle, drop_last_batch):
|
|
346
|
+
# Yield individual rows from each batch
|
|
347
|
+
num_rows = len(next(iter(batch.values())))
|
|
348
|
+
for i in range(num_rows):
|
|
349
|
+
if limit is not None and rows_yielded >= limit:
|
|
350
|
+
return
|
|
351
|
+
yield {k: v[i].item() if hasattr(v[i], "item") else v[i] for k, v in batch.items()}
|
|
352
|
+
rows_yielded += 1
|
|
353
|
+
|
|
354
|
+
result = hf_datasets.IterableDataset.from_generator(generator)
|
|
355
|
+
# In datasets >= 3.x, from_generator returns IterableDatasetDict
|
|
356
|
+
# We need to extract the IterableDataset from the dict
|
|
357
|
+
if hasattr(hf_datasets, "IterableDatasetDict") and isinstance(result, hf_datasets.IterableDatasetDict):
|
|
358
|
+
# Get the first (and only) dataset from the dict
|
|
359
|
+
result = next(iter(result.values()))
|
|
360
|
+
return result
|
|
361
|
+
|
|
260
362
|
|
|
261
363
|
# Switch to use Runtime's Data Ingester if running in ML runtime
|
|
262
364
|
# Fail silently if the data ingester is not found
|
|
@@ -41,8 +41,14 @@ class ExperimentTrackingSQLClient(_base._BaseSQLClient):
|
|
|
41
41
|
).has_dimensions(expected_rows=1, expected_cols=1).validate()
|
|
42
42
|
|
|
43
43
|
@telemetry.send_api_usage_telemetry(project=telemetry.TelemetryProject.EXPERIMENT_TRACKING.value)
|
|
44
|
-
def drop_experiment(
|
|
45
|
-
|
|
44
|
+
def drop_experiment(
|
|
45
|
+
self,
|
|
46
|
+
*,
|
|
47
|
+
database_name: sql_identifier.SqlIdentifier,
|
|
48
|
+
schema_name: sql_identifier.SqlIdentifier,
|
|
49
|
+
experiment_name: sql_identifier.SqlIdentifier,
|
|
50
|
+
) -> None:
|
|
51
|
+
experiment_fqn = self.fully_qualified_object_name(database_name, schema_name, experiment_name)
|
|
46
52
|
query_result_checker.SqlResultValidator(self._session, f"DROP EXPERIMENT {experiment_fqn}").has_dimensions(
|
|
47
53
|
expected_rows=1, expected_cols=1
|
|
48
54
|
).validate()
|
{snowflake_ml_python-1.20.0 → snowflake_ml_python-1.21.0}/snowflake/ml/experiment/callback/keras.py
RENAMED
|
@@ -12,6 +12,8 @@ if TYPE_CHECKING:
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class SnowflakeKerasCallback(keras.callbacks.Callback):
|
|
15
|
+
"""Keras callback for automatically logging to a Snowflake ML Experiment."""
|
|
16
|
+
|
|
15
17
|
def __init__(
|
|
16
18
|
self,
|
|
17
19
|
experiment_tracking: "ExperimentTracking",
|
|
@@ -23,12 +25,33 @@ class SnowflakeKerasCallback(keras.callbacks.Callback):
|
|
|
23
25
|
version_name: Optional[str] = None,
|
|
24
26
|
model_signature: Optional["ModelSignature"] = None,
|
|
25
27
|
) -> None:
|
|
28
|
+
"""
|
|
29
|
+
Creates a new Keras callback.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
experiment_tracking (snowflake.ml.experiment.ExperimentTracking): The Experiment Tracking instance
|
|
33
|
+
to use for logging.
|
|
34
|
+
log_model (bool): Whether to log the model at the end of training. Default is True.
|
|
35
|
+
log_metrics (bool): Whether to log metrics during training. Default is True.
|
|
36
|
+
log_params (bool): Whether to log model parameters at the start of training. Default is True.
|
|
37
|
+
log_every_n_epochs (int): Frequency with which to log metrics. Must be positive.
|
|
38
|
+
Default is 1, logging after every epoch.
|
|
39
|
+
model_name (Optional[str]): The model name to use when logging the model.
|
|
40
|
+
If None, the model name will be derived from the experiment name.
|
|
41
|
+
version_name (Optional[str]): The model version name to use when logging the model.
|
|
42
|
+
If None, the version name will be randomly generated.
|
|
43
|
+
model_signature (Optional[snowflake.ml.model.model_signature.ModelSignature]): The model signature to use
|
|
44
|
+
when logging the model. This is required if ``log_model`` is set to True.
|
|
45
|
+
|
|
46
|
+
Raises:
|
|
47
|
+
ValueError: When ``log_every_n_epochs`` is not a positive integer.
|
|
48
|
+
"""
|
|
26
49
|
self._experiment_tracking = experiment_tracking
|
|
27
50
|
self.log_model = log_model
|
|
28
51
|
self.log_metrics = log_metrics
|
|
29
52
|
self.log_params = log_params
|
|
30
|
-
if log_every_n_epochs
|
|
31
|
-
raise ValueError("`log_every_n_epochs` must be positive.")
|
|
53
|
+
if not (utils.is_integer(log_every_n_epochs) and log_every_n_epochs > 0):
|
|
54
|
+
raise ValueError("`log_every_n_epochs` must be a positive integer.")
|
|
32
55
|
self.log_every_n_epochs = log_every_n_epochs
|
|
33
56
|
self.model_name = model_name
|
|
34
57
|
self.version_name = version_name
|
|
@@ -3,12 +3,16 @@ from warnings import warn
|
|
|
3
3
|
|
|
4
4
|
import lightgbm as lgb
|
|
5
5
|
|
|
6
|
+
from snowflake.ml.experiment import utils
|
|
7
|
+
|
|
6
8
|
if TYPE_CHECKING:
|
|
7
9
|
from snowflake.ml.experiment.experiment_tracking import ExperimentTracking
|
|
8
10
|
from snowflake.ml.model.model_signature import ModelSignature
|
|
9
11
|
|
|
10
12
|
|
|
11
13
|
class SnowflakeLightgbmCallback(lgb.callback._RecordEvaluationCallback):
|
|
14
|
+
"""LightGBM callback for automatically logging to a Snowflake ML Experiment."""
|
|
15
|
+
|
|
12
16
|
def __init__(
|
|
13
17
|
self,
|
|
14
18
|
experiment_tracking: "ExperimentTracking",
|
|
@@ -20,12 +24,33 @@ class SnowflakeLightgbmCallback(lgb.callback._RecordEvaluationCallback):
|
|
|
20
24
|
version_name: Optional[str] = None,
|
|
21
25
|
model_signature: Optional["ModelSignature"] = None,
|
|
22
26
|
) -> None:
|
|
27
|
+
"""
|
|
28
|
+
Creates a new LightGBM callback.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
experiment_tracking (snowflake.ml.experiment.ExperimentTracking): The Experiment Tracking instance
|
|
32
|
+
to use for logging.
|
|
33
|
+
log_model (bool): Whether to log the model at the end of training. Default is True.
|
|
34
|
+
log_metrics (bool): Whether to log metrics during training. Default is True.
|
|
35
|
+
log_params (bool): Whether to log model parameters at the start of training. Default is True.
|
|
36
|
+
log_every_n_epochs (int): Frequency with which to log metrics. Must be positive.
|
|
37
|
+
Default is 1, logging after every iteration.
|
|
38
|
+
model_name (Optional[str]): The model name to use when logging the model.
|
|
39
|
+
If None, the model name will be derived from the experiment name.
|
|
40
|
+
version_name (Optional[str]): The model version name to use when logging the model.
|
|
41
|
+
If None, the version name will be randomly generated.
|
|
42
|
+
model_signature (Optional[snowflake.ml.model.model_signature.ModelSignature]): The model signature to use
|
|
43
|
+
when logging the model. This is required if ``log_model`` is set to True.
|
|
44
|
+
|
|
45
|
+
Raises:
|
|
46
|
+
ValueError: When ``log_every_n_epochs`` is not a positive integer.
|
|
47
|
+
"""
|
|
23
48
|
self._experiment_tracking = experiment_tracking
|
|
24
49
|
self.log_model = log_model
|
|
25
50
|
self.log_metrics = log_metrics
|
|
26
51
|
self.log_params = log_params
|
|
27
|
-
if log_every_n_epochs
|
|
28
|
-
raise ValueError("`log_every_n_epochs` must be positive.")
|
|
52
|
+
if not (utils.is_integer(log_every_n_epochs) and log_every_n_epochs > 0):
|
|
53
|
+
raise ValueError("`log_every_n_epochs` must be a positive integer.")
|
|
29
54
|
self.log_every_n_epochs = log_every_n_epochs
|
|
30
55
|
self.model_name = model_name
|
|
31
56
|
self.version_name = version_name
|
|
@@ -12,6 +12,8 @@ if TYPE_CHECKING:
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class SnowflakeXgboostCallback(xgb.callback.TrainingCallback):
|
|
15
|
+
"""XGBoost callback for automatically logging to a Snowflake ML Experiment."""
|
|
16
|
+
|
|
15
17
|
def __init__(
|
|
16
18
|
self,
|
|
17
19
|
experiment_tracking: "ExperimentTracking",
|
|
@@ -23,12 +25,33 @@ class SnowflakeXgboostCallback(xgb.callback.TrainingCallback):
|
|
|
23
25
|
version_name: Optional[str] = None,
|
|
24
26
|
model_signature: Optional["ModelSignature"] = None,
|
|
25
27
|
) -> None:
|
|
28
|
+
"""
|
|
29
|
+
Initialize the callback.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
experiment_tracking (snowflake.ml.experiment.ExperimentTracking): The Experiment Tracking instance
|
|
33
|
+
to use for logging.
|
|
34
|
+
log_model (bool): Whether to log the model at the end of training. Default is True.
|
|
35
|
+
log_metrics (bool): Whether to log metrics during training. Default is True.
|
|
36
|
+
log_params (bool): Whether to log model parameters at the start of training. Default is True.
|
|
37
|
+
log_every_n_epochs (int): Frequency with which to log metrics. Must be positive.
|
|
38
|
+
Default is 1, logging after every iteration.
|
|
39
|
+
model_name (Optional[str]): The model name to use when logging the model.
|
|
40
|
+
If None, the model name will be derived from the experiment name.
|
|
41
|
+
version_name (Optional[str]): The model version name to use when logging the model.
|
|
42
|
+
If None, the version name will be randomly generated.
|
|
43
|
+
model_signature (Optional[snowflake.ml.model.model_signature.ModelSignature]): The model signature to use
|
|
44
|
+
when logging the model. This is required if ``log_model`` is set to True.
|
|
45
|
+
|
|
46
|
+
Raises:
|
|
47
|
+
ValueError: When ``log_every_n_epochs`` is not a positive integer.
|
|
48
|
+
"""
|
|
26
49
|
self._experiment_tracking = experiment_tracking
|
|
27
50
|
self.log_model = log_model
|
|
28
51
|
self.log_metrics = log_metrics
|
|
29
52
|
self.log_params = log_params
|
|
30
|
-
if log_every_n_epochs
|
|
31
|
-
raise ValueError("`log_every_n_epochs` must be positive.")
|
|
53
|
+
if not (utils.is_integer(log_every_n_epochs) and log_every_n_epochs > 0):
|
|
54
|
+
raise ValueError("`log_every_n_epochs` must be a positive integer.")
|
|
32
55
|
self.log_every_n_epochs = log_every_n_epochs
|
|
33
56
|
self.model_name = model_name
|
|
34
57
|
self.version_name = version_name
|