snowflake-ml-python 1.40.0__tar.gz → 1.42.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.40.0 → snowflake_ml_python-1.42.0}/CHANGELOG.md +46 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/PKG-INFO +48 -3
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/pyproject.toml +1 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/env_utils.py +11 -9
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/platform_capabilities.py +13 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/__init__.py +4 -0
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/_compute_fn_validation.py +253 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/aggregation.py +16 -3
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/feature.py +9 -4
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/feature_group.py +444 -48
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/feature_store.py +2047 -293
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/feature_view.py +340 -42
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/feature_view_append_only_validation.py +147 -0
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/feature_view_refresh_freq.py +29 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/metadata_manager.py +272 -6
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/online_service.py +247 -26
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/realtime_config.py +373 -0
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/realtime_dataset.py +597 -0
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/realtime_dataset_udf.py +101 -0
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/realtime_registration.py +951 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/spec/builder.py +277 -51
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/spec/models.py +143 -3
- snowflake_ml_python-1.42.0/snowflake/ml/feature_store/spec/table_schema_evolution.py +119 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/stream_config.py +39 -66
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/stream_source.py +35 -18
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/streaming_registration.py +59 -25
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/tile_sql_generator.py +380 -72
- snowflake_ml_python-1.42.0/snowflake/ml/jobs/_interop/__init__.py +12 -0
- snowflake_ml_python-1.42.0/snowflake/ml/jobs/_utils/scripts/__init__.py +13 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/get_instance_ip.py +1 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/mljob_launcher.py +2 -2
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/signal_workers.py +25 -17
- snowflake_ml_python-1.42.0/snowflake/ml/jobs/_utils/scripts/signal_workers_test.py +209 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/worker_shutdown_listener.py +8 -5
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/stage_utils.py +1 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/job.py +30 -7
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/model/model_version_impl.py +5 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/ops/service_ops.py +74 -23
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/service/model_deployment_spec.py +0 -4
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/sql/service.py +42 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/infer_function.py_template +7 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/infer_function_init_once.py_template +8 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned.py_template +7 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/infer_partitioned_init_once.py_template +8 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function.py_template +7 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/infer_table_function_init_once.py_template +8 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_env/model_env.py +26 -11
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/catboost.py +4 -4
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_handler.py +6 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/question_answering.py +7 -2
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/summarization.py +7 -2
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text2text_generation.py +7 -2
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/translation.py +7 -2
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/keras.py +3 -3
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/lightgbm.py +4 -4
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/mlflow.py +13 -4
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/sentence_transformers.py +160 -34
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/xgboost.py +4 -4
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_meta/model_meta.py +21 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_meta/model_meta_schema.py +3 -0
- snowflake_ml_python-1.42.0/snowflake/ml/model/_packager/model_meta/model_sample_input_data.py +251 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_packager.py +14 -2
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_runtime/_snowml_inference_alternative_requirements.py +1 -1
- snowflake_ml_python-1.42.0/snowflake/ml/model/_packager/model_save_options.py +140 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/type_hints.py +10 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/registry/_manager/model_manager.py +18 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/registry/_manager/model_parameter_reconciler.py +33 -10
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/registry/registry.py +10 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/version.py +1 -1
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake_ml_python.egg-info/PKG-INFO +48 -3
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake_ml_python.egg-info/SOURCES.txt +12 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake_ml_python.egg-info/requires.txt +1 -1
- snowflake_ml_python-1.40.0/snowflake/ml/jobs/_utils/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/LICENSE.txt +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/README.md +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/setup.cfg +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_classify_text.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_complete.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_embed_text_1024.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_embed_text_768.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_extract_answer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_finetune.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_sentiment.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_sse_client.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_summarize.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_translate.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/cortex/_util.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/env.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/dataset_error_messages.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/dataset_errors.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/error_codes.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/error_messages.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/exceptions.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/fileset_error_messages.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/fileset_errors.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/modeling_error_messages.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/exceptions/sql_error_codes.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/file_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/human_readable_id/adjectives.txt +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/human_readable_id/animals.txt +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/human_readable_id/hrid_generator.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/human_readable_id/hrid_generator_base.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/init_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/lineage/lineage_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/migrator_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/relax_version_strategy.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/telemetry.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/type_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/db_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/formatting.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/identifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/import_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/jwt_generator.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/mixins.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/parallelize.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/pkg_version_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/query_result_checker.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/result.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/service_logger.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/snowflake_env.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/snowpark_dataframe_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/sql_identifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/table_manager.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/tee.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/temp_file_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/utils/url.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/_internal/arrow_ingestor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/data_connector.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/data_ingestor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/data_source.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/ingestor_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/data/torch_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/dataset/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/dataset/dataset.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/dataset/dataset_factory.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/dataset/dataset_metadata.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/dataset/dataset_reader.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_client/artifact.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_client/experiment_tracking_sql_client.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_entities/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_entities/experiment.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_entities/run.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_entities/run_metadata.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_experiment_info.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_logging/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_logging/experiment_logger.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/_logging/experiment_logging_context.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/callback/keras.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/callback/lightgbm.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/callback/xgboost.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/experiment_tracking.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/experiment/utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/access_manager.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/entity.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/airline_features/entities.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/airline_features/features/plane_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/airline_features/features/weather_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/airline_features/source.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/citibike_trip_features/entities.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/station_feature.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/citibike_trip_features/features/trip_feature.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/citibike_trip_features/source.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/example_helper.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/entities.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/location_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/features/trip_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/new_york_taxi_features/source.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/source_data/airline.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/source_data/citibike_trips.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/source_data/fraud_transactions.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/source_data/nyc_yellow_trips.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/source_data/winequality_red.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/wine_quality_features/entities.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/managed_wine_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/wine_quality_features/features/static_wine_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/examples/wine_quality_features/source.yaml +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/interval_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/online_service_http_client.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/request_source.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/spec/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/spec/enums.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/fileset/embedded_stage_fs.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/fileset/fileset.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/fileset/sfcfs.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/fileset/snowfs.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/fileset/stage_fs.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/data_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/dto_schema.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/exception_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/legacy.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/protocols.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/results.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_interop/utils.py +0 -0
- {snowflake_ml_python-1.40.0/snowflake/ml/jobs/_interop → snowflake_ml_python-1.42.0/snowflake/ml/jobs/_utils}/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/arg_protocol.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/constants.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/feature_flags.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/payload_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/query_helper.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/runtime_env_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/constants.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/start_mlruntime.sh +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/scripts/startup.sh +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/_utils/type_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/decorators.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/job_definition.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/jobs/manager.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/lineage/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/lineage/lineage_node.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/model/batch_inference_serialization.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/model/batch_inference_specs.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/model/batch_inference_task.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/model/inference_engine_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/model/model_impl.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/ops/deployment_step.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/ops/metadata_ops.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/ops/model_ops.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/ops/param_ops.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/ops/param_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/service/import_model_spec_schema.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/service/model_deployment_spec_schema.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/sql/_base.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/sql/model.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/sql/model_version.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/sql/stage.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_client/sql/tag.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_composer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_manifest/model_manifest_schema.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/constants.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/function_generator.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/model_method.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_method/utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_model_composer/model_user_file/model_user_file.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/_base.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/custom.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_default.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_openai_chat_wrapper.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_task_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/audio_text_to_text.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/automatic_speech_recognition.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/conversational.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/document_question_answering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/fill_mask.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_feature_extraction.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_text_to_text.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/image_to_text.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/object_detection.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/table_question_answering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/text_generation.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/token_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/video_text_to_text.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/visual_question_answering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_audio_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_image_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_object_detection.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/huggingface/zero_shot_text_classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/prophet.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/pytorch.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/sklearn.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/snowmlmodel.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/tensorflow.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers/torchscript.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers_migrator/pytorch_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers_migrator/tensorflow_migrator_2025_01_01.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_handlers_migrator/torchscript_migrator_2023_12_01.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_meta/model_blob_meta.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_meta_migrator/base_migrator.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_plans.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_meta_migrator/migrator_v1.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_runtime/model_runtime.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_packager/model_task/model_task_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/base_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/builtins_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/core.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/dmatrix_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/numpy_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/pandas_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/pytorch_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/snowpark_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/tensorflow_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/_signatures/utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/batch/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/code_path.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/compute_pool.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/custom_model.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/event_handler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/inference_engine.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/model_signature.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/models/huggingface.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/models/huggingface_pipeline.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/openai_signatures.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/target_platform.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/task.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/model/volatility.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/estimator_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_handlers.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/local_implementations/pandas_trainer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/model_specifications.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/model_trainer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/model_trainer_builder.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/model_transformer_builder.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_hpo_trainer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/snowpark_implementations/distributed_search_udf_file.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_handlers.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/snowpark_implementations/snowpark_trainer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/snowpark_implementations/xgboost_external_memory_trainer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/_internal/transformer_protocols.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/calibration/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/calibration/calibrated_classifier_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/affinity_propagation.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/agglomerative_clustering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/birch.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/bisecting_k_means.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/dbscan.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/feature_agglomeration.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/k_means.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/mean_shift.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/mini_batch_k_means.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/optics.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/spectral_biclustering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/spectral_clustering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/cluster/spectral_coclustering.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/compose/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/compose/column_transformer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/compose/transformed_target_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/elliptic_envelope.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/empirical_covariance.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/graphical_lasso.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/graphical_lasso_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/ledoit_wolf.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/min_cov_det.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/oas.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/covariance/shrunk_covariance.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/dictionary_learning.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/factor_analysis.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/fast_ica.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/incremental_pca.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/kernel_pca.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/mini_batch_dictionary_learning.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/mini_batch_sparse_pca.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/pca.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/sparse_pca.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/decomposition/truncated_svd.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/discriminant_analysis/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/discriminant_analysis/linear_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/discriminant_analysis/quadratic_discriminant_analysis.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/ada_boost_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/ada_boost_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/bagging_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/bagging_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/extra_trees_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/extra_trees_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/hist_gradient_boosting_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/isolation_forest.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/random_forest_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/random_forest_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/stacking_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/voting_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/ensemble/voting_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/generic_univariate_select.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/select_fdr.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/select_fpr.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/select_fwe.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/select_k_best.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/select_percentile.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/sequential_feature_selector.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/feature_selection/variance_threshold.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/framework/_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/framework/base.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/gaussian_process/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/gaussian_process/gaussian_process_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/impute/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/impute/iterative_imputer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/impute/knn_imputer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/impute/missing_indicator.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/impute/simple_imputer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_approximation/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_approximation/additive_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_approximation/nystroem.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_approximation/polynomial_count_sketch.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_approximation/rbf_sampler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_approximation/skewed_chi2_sampler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_ridge/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/kernel_ridge/kernel_ridge.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/lightgbm/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/lightgbm/lgbm_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/lightgbm/lgbm_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/ard_regression.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/bayesian_ridge.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/elastic_net.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/gamma_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/huber_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lars.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lars_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lasso.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lasso_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lasso_lars.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lasso_lars_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/lasso_lars_ic.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/linear_regression.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/logistic_regression.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/logistic_regression_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/multi_task_elastic_net_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/multi_task_lasso.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/multi_task_lasso_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/orthogonal_matching_pursuit.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/passive_aggressive_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/passive_aggressive_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/perceptron.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/poisson_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/ransac_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/ridge.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/ridge_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/ridge_classifier_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/ridge_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/sgd_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/sgd_one_class_svm.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/sgd_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/theil_sen_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/linear_model/tweedie_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/manifold/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/manifold/isomap.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/manifold/mds.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/manifold/spectral_embedding.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/manifold/tsne.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/classification.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/correlation.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/covariance.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/metrics_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/ranking.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/metrics/regression.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/mixture/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/mixture/bayesian_gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/mixture/gaussian_mixture.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/model_selection/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/model_selection/grid_search_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/model_selection/randomized_search_cv.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/multiclass/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/multiclass/one_vs_one_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/multiclass/one_vs_rest_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/multiclass/output_code_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/naive_bayes/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/naive_bayes/bernoulli_nb.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/naive_bayes/categorical_nb.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/naive_bayes/complement_nb.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/naive_bayes/gaussian_nb.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/naive_bayes/multinomial_nb.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/k_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/k_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/kernel_density.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/local_outlier_factor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/nearest_centroid.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/nearest_neighbors.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/neighborhood_components_analysis.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/radius_neighbors_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neighbors/radius_neighbors_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neural_network/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neural_network/bernoulli_rbm.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neural_network/mlp_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/neural_network/mlp_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/parameters/disable_distributed_hpo.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/parameters/disable_model_tracer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/parameters/enable_anonymous_sproc.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/pipeline/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/pipeline/pipeline.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/binarizer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/k_bins_discretizer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/label_encoder.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/max_abs_scaler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/min_max_scaler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/normalizer.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/one_hot_encoder.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/ordinal_encoder.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/polynomial_features.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/robust_scaler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/preprocessing/standard_scaler.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/semi_supervised/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/semi_supervised/label_propagation.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/semi_supervised/label_spreading.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/linear_svc.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/linear_svr.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/nu_svc.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/nu_svr.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/svc.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/svm/svr.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/tree/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/tree/decision_tree_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/tree/decision_tree_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/tree/extra_tree_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/tree/extra_tree_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/xgboost/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/xgboost/xgb_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/xgboost/xgb_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/xgboost/xgbrf_classifier.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/modeling/xgboost/xgbrf_regressor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/_client/model_monitor_sql_client.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/_client/queries/record_count.ssql +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/_client/queries/rmse.ssql +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/_manager/model_monitor_manager.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/entities/model_monitor_config.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/explain_visualize.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/model_monitor.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/monitoring/shap.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/registry/__init__.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/utils/authentication.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/utils/connection_params.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/utils/html_utils.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/utils/sparse.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/utils/sql_client.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/utils/stage_file.py +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake_ml_python.egg-info/dependency_links.txt +0 -0
- {snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake_ml_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,43 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.42.0
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
* Registry: Support `truncate_dim` for `SentenceTransformers` models. Truncation set at
|
|
8
|
+
construction (`SentenceTransformer(..., truncate_dim=N)`) is captured when the model is logged
|
|
9
|
+
and restored on reload. On clients with `sentence-transformers` 5.0.0 or later, `truncate_dim`
|
|
10
|
+
is also exposed as a runtime parameter in the model signature.
|
|
11
|
+
|
|
12
|
+
* Registry: `log_model()` now captures a representative row from `sample_input_data` and stores it alongside the model
|
|
13
|
+
so inference code snippets shown in the model registry UI can be pre-filled with realistic values. Pass
|
|
14
|
+
`options={"capture_sample_input_data": False}` to opt out (e.g., for sensitive data); generic placeholder values
|
|
15
|
+
will be used in the snippets instead.
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* Registry: Pin `transformers<5` for additional HuggingFace pipeline tasks removed in
|
|
20
|
+
`transformers 5.x` (`summarization`, `text2text-generation`, `question-answering`, and
|
|
21
|
+
`translation_*`), preventing deployment failures from missing pipeline classes.
|
|
22
|
+
|
|
23
|
+
### Behavior Changes
|
|
24
|
+
|
|
25
|
+
### Deprecations
|
|
26
|
+
|
|
27
|
+
## 1.41.0 (2026-05-27)
|
|
28
|
+
|
|
29
|
+
### New Features
|
|
30
|
+
|
|
31
|
+
* Registry: Extended `ParamSpec` support to MLflow PyFunc, LightGBM, XGBoost, and CatBoost models.
|
|
32
|
+
Parameters declared in the model signature can now be passed at inference time.
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
### Behavior Changes
|
|
37
|
+
|
|
38
|
+
### Deprecations
|
|
39
|
+
|
|
40
|
+
## 1.40.0 (2026-05-19)
|
|
4
41
|
|
|
5
42
|
### New Features
|
|
6
43
|
|
|
@@ -13,6 +50,14 @@
|
|
|
13
50
|
|
|
14
51
|
### Behavior Changes
|
|
15
52
|
|
|
53
|
+
* Registry: `log_model(..., options=...)` now rejects unknown top-level keys and unknown keys inside each
|
|
54
|
+
`method_options` entry (for example misspellings or options that belong to a different model framework).
|
|
55
|
+
Previously those keys were ignored. Validation is based on the public save-option TypedDicts and runs
|
|
56
|
+
before dependency reconciliation.
|
|
57
|
+
|
|
58
|
+
* Registry: `use_gpu` is declared on the CatBoost, XGBoost, PyTorch, and TorchScript save-option
|
|
59
|
+
TypedDicts to match the save paths that already read this flag.
|
|
60
|
+
|
|
16
61
|
### Deprecations
|
|
17
62
|
|
|
18
63
|
## 1.39.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: snowflake-ml-python
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.42.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:
|
|
@@ -244,7 +244,7 @@ Requires-Dist: numpy<3,>=1.23
|
|
|
244
244
|
Requires-Dist: packaging<26,>=20.9
|
|
245
245
|
Requires-Dist: pandas<3,>=2.1.4
|
|
246
246
|
Requires-Dist: platformdirs<5
|
|
247
|
-
Requires-Dist: pyarrow
|
|
247
|
+
Requires-Dist: pyarrow
|
|
248
248
|
Requires-Dist: pydantic<3,>=2.8.2
|
|
249
249
|
Requires-Dist: pyjwt<3,>=2.0.0
|
|
250
250
|
Requires-Dist: pytimeparse<2,>=1.1.8
|
|
@@ -416,7 +416,44 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
416
416
|
|
|
417
417
|
# Release History
|
|
418
418
|
|
|
419
|
-
## 1.
|
|
419
|
+
## 1.42.0
|
|
420
|
+
|
|
421
|
+
### New Features
|
|
422
|
+
|
|
423
|
+
* Registry: Support `truncate_dim` for `SentenceTransformers` models. Truncation set at
|
|
424
|
+
construction (`SentenceTransformer(..., truncate_dim=N)`) is captured when the model is logged
|
|
425
|
+
and restored on reload. On clients with `sentence-transformers` 5.0.0 or later, `truncate_dim`
|
|
426
|
+
is also exposed as a runtime parameter in the model signature.
|
|
427
|
+
|
|
428
|
+
* Registry: `log_model()` now captures a representative row from `sample_input_data` and stores it alongside the model
|
|
429
|
+
so inference code snippets shown in the model registry UI can be pre-filled with realistic values. Pass
|
|
430
|
+
`options={"capture_sample_input_data": False}` to opt out (e.g., for sensitive data); generic placeholder values
|
|
431
|
+
will be used in the snippets instead.
|
|
432
|
+
|
|
433
|
+
### Bug Fixes
|
|
434
|
+
|
|
435
|
+
* Registry: Pin `transformers<5` for additional HuggingFace pipeline tasks removed in
|
|
436
|
+
`transformers 5.x` (`summarization`, `text2text-generation`, `question-answering`, and
|
|
437
|
+
`translation_*`), preventing deployment failures from missing pipeline classes.
|
|
438
|
+
|
|
439
|
+
### Behavior Changes
|
|
440
|
+
|
|
441
|
+
### Deprecations
|
|
442
|
+
|
|
443
|
+
## 1.41.0 (2026-05-27)
|
|
444
|
+
|
|
445
|
+
### New Features
|
|
446
|
+
|
|
447
|
+
* Registry: Extended `ParamSpec` support to MLflow PyFunc, LightGBM, XGBoost, and CatBoost models.
|
|
448
|
+
Parameters declared in the model signature can now be passed at inference time.
|
|
449
|
+
|
|
450
|
+
### Bug Fixes
|
|
451
|
+
|
|
452
|
+
### Behavior Changes
|
|
453
|
+
|
|
454
|
+
### Deprecations
|
|
455
|
+
|
|
456
|
+
## 1.40.0 (2026-05-19)
|
|
420
457
|
|
|
421
458
|
### New Features
|
|
422
459
|
|
|
@@ -429,6 +466,14 @@ NOTE: Version 1.7.0 is used as example here. Please choose the the latest versio
|
|
|
429
466
|
|
|
430
467
|
### Behavior Changes
|
|
431
468
|
|
|
469
|
+
* Registry: `log_model(..., options=...)` now rejects unknown top-level keys and unknown keys inside each
|
|
470
|
+
`method_options` entry (for example misspellings or options that belong to a different model framework).
|
|
471
|
+
Previously those keys were ignored. Validation is based on the public save-option TypedDicts and runs
|
|
472
|
+
before dependency reconciliation.
|
|
473
|
+
|
|
474
|
+
* Registry: `use_gpu` is declared on the CatBoost, XGBoost, PyTorch, and TorchScript save-option
|
|
475
|
+
TypedDicts to match the save paths that already read this flag.
|
|
476
|
+
|
|
432
477
|
### Deprecations
|
|
433
478
|
|
|
434
479
|
## 1.39.0
|
|
@@ -8,7 +8,7 @@ description = "The machine learning client library that is used for interacting
|
|
|
8
8
|
classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Other Environment", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "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
9
|
requires-python = ">=3.9, <3.14"
|
|
10
10
|
dynamic = [ "version", "readme",]
|
|
11
|
-
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "h2>=4.3.0,<5", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow
|
|
11
|
+
dependencies = [ "anyio>=3.5.0,<5", "cachetools>=3.1.1,<6", "cloudpickle>=2.0.0", "cryptography", "fsspec[http]>=2024.6.1,<2026", "h2>=4.3.0,<5", "importlib_resources>=6.1.1, <7", "numpy>=1.23,<3", "packaging>=20.9,<26", "pandas>=2.1.4,<3", "platformdirs<5", "pyarrow", "pydantic>=2.8.2, <3", "pyjwt>=2.0.0, <3", "pytimeparse>=1.1.8,<2", "pyyaml>=6.0,<7", "retrying>=1.3.3,<2", "scikit-learn<1.8", "scipy>=1.9,<2", "shap>=0.46.0,<1", "snowflake-connector-python[pandas]>=3.17.3,<5", "snowflake-snowpark-python>=1.17.0,<2,!=1.26.0", "sqlparse>=0.4,<1", "tqdm<5", "typing-extensions>=4.1.0,<5", "xgboost<4",]
|
|
12
12
|
[[project.authors]]
|
|
13
13
|
name = "Snowflake, Inc"
|
|
14
14
|
email = "support@snowflake.com"
|
{snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/_internal/env_utils.py
RENAMED
|
@@ -57,20 +57,22 @@ def get_execution_context() -> str:
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
def is_local_conda_environment() -> bool:
|
|
60
|
-
"""Return True if the active Python interpreter appears to run inside a conda env
|
|
61
|
-
or under conda session context (e.g. a venv created inside an activated conda env).
|
|
60
|
+
"""Return True if the active Python interpreter appears to run inside a conda env.
|
|
62
61
|
|
|
63
|
-
Uses
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
Uses ``conda-meta`` under :py:data:`sys.prefix` for conda-created environments.
|
|
63
|
+
Standard-library virtual environments (``pyvenv.cfg`` present) are **not** treated as
|
|
64
|
+
conda even when ``CONDA_PREFIX`` is still set in the shell (e.g. conda base
|
|
65
|
+
auto-activation while a separate venv kernel is selected).
|
|
67
66
|
|
|
68
67
|
Returns:
|
|
69
|
-
``True`` if ``sys.prefix`` contains ``conda-meta
|
|
70
|
-
|
|
68
|
+
``True`` if ``sys.prefix`` contains ``conda-meta``, or ``CONDA_PREFIX`` is set and
|
|
69
|
+
there is no ``pyvenv.cfg`` under ``sys.prefix``; else ``False``.
|
|
71
70
|
"""
|
|
72
|
-
|
|
71
|
+
prefix = sys.prefix
|
|
72
|
+
if os.path.isdir(os.path.join(prefix, "conda-meta")):
|
|
73
73
|
return True
|
|
74
|
+
if os.path.isfile(os.path.join(prefix, "pyvenv.cfg")):
|
|
75
|
+
return False
|
|
74
76
|
return bool(os.environ.get("CONDA_PREFIX", "").strip())
|
|
75
77
|
|
|
76
78
|
|
|
@@ -19,6 +19,7 @@ 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
21
|
ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS = "ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS"
|
|
22
|
+
ENABLE_PIP_ONLY_PACKAGING = "ENABLE_PIP_ONLY_PACKAGING"
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
class PlatformCapabilities:
|
|
@@ -82,6 +83,18 @@ class PlatformCapabilities:
|
|
|
82
83
|
def is_model_method_signature_parameters_enabled(self) -> bool:
|
|
83
84
|
return self._get_bool_feature(ENABLE_MODEL_METHOD_SIGNATURE_PARAMETERS, False)
|
|
84
85
|
|
|
86
|
+
def is_pip_only_packaging_enabled(self) -> bool:
|
|
87
|
+
"""Whether pip-only model packaging is enabled for this account.
|
|
88
|
+
|
|
89
|
+
Defaults to enabled when ``ENABLE_PIP_ONLY_PACKAGING`` is absent from
|
|
90
|
+
``SYSTEM$ML_PLATFORM_CAPABILITIES()`` (e.g. older servers). When the
|
|
91
|
+
capability is present, defaults to enabled unless explicitly set to false.
|
|
92
|
+
|
|
93
|
+
Returns:
|
|
94
|
+
True if pip-only packaging is enabled for this account; otherwise False.
|
|
95
|
+
"""
|
|
96
|
+
return self._get_bool_feature(ENABLE_PIP_ONLY_PACKAGING, default_value=True)
|
|
97
|
+
|
|
85
98
|
@staticmethod
|
|
86
99
|
def _get_features(session: snowpark_session.Session) -> dict[str, Any]:
|
|
87
100
|
try:
|
{snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/__init__.py
RENAMED
|
@@ -5,6 +5,8 @@ from snowflake.ml._internal import init_utils
|
|
|
5
5
|
from .access_manager import setup_feature_store
|
|
6
6
|
from .feature import Feature
|
|
7
7
|
from .feature_view import RollupConfig
|
|
8
|
+
from .realtime_config import RealtimeConfig
|
|
9
|
+
from .request_source import RequestSource
|
|
8
10
|
from .spec.enums import FeatureAggregationMethod
|
|
9
11
|
from .stream_config import StreamConfig
|
|
10
12
|
from .stream_source import StreamSource
|
|
@@ -19,6 +21,8 @@ __all__ = list(exportable_classes.keys()) + [
|
|
|
19
21
|
"setup_feature_store",
|
|
20
22
|
"Feature",
|
|
21
23
|
"FeatureAggregationMethod",
|
|
24
|
+
"RealtimeConfig",
|
|
25
|
+
"RequestSource",
|
|
22
26
|
"RollupConfig",
|
|
23
27
|
"StreamConfig",
|
|
24
28
|
"StreamSource",
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
"""Unified ``compute_fn`` / ``transformation_fn`` validation.
|
|
2
|
+
|
|
3
|
+
This module is the single source of truth for the policy applied to user
|
|
4
|
+
functions registered on a streaming feature view (``StreamConfig``) or a
|
|
5
|
+
realtime feature view (``RealtimeConfig``). The policy is split into two
|
|
6
|
+
layers, intentionally complementary:
|
|
7
|
+
|
|
8
|
+
- :func:`validate_compute_fn_source` — static AST checks on the dedented
|
|
9
|
+
source text. Enforces that the source is a single top-level
|
|
10
|
+
``def``-style function, with no nested ``def`` / ``async def`` / lambda,
|
|
11
|
+
no calls to forbidden builtins, and only imports from
|
|
12
|
+
:data:`ALLOWED_MODULES`.
|
|
13
|
+
- :func:`validate_compute_fn_callable` — closure-vars / free-name check on
|
|
14
|
+
the live callable. Enforces that every free name resolves to a key in
|
|
15
|
+
:data:`ALLOWED_NAMESPACE_KEYS` (or ``__builtins__``), with no closure
|
|
16
|
+
references to enclosing scopes.
|
|
17
|
+
|
|
18
|
+
Each error message starts with the caller-supplied ``kind`` label
|
|
19
|
+
(``streaming feature view`` or ``realtime feature view``) so the user gets
|
|
20
|
+
a domain-appropriate prefix.
|
|
21
|
+
|
|
22
|
+
This is a deterministic guardrail, not a security sandbox — obfuscated
|
|
23
|
+
bypasses (``getattr(builtins, "__import__")``, etc.) are out of scope.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
from __future__ import annotations
|
|
27
|
+
|
|
28
|
+
import ast
|
|
29
|
+
import inspect
|
|
30
|
+
import textwrap
|
|
31
|
+
from typing import Any, Callable, Optional
|
|
32
|
+
|
|
33
|
+
# Top-level packages permitted in import statements inside compute_fn.
|
|
34
|
+
ALLOWED_MODULES: frozenset[str] = frozenset({"numpy", "pandas", "re", "copy", "dataclasses"})
|
|
35
|
+
|
|
36
|
+
# Names that may appear as free globals inside compute_fn. Mirrors the
|
|
37
|
+
# runtime namespace populated by RTFV reconstruction so the same source
|
|
38
|
+
# code runs identically at author time and at warehouse-side execution.
|
|
39
|
+
ALLOWED_NAMESPACE_KEYS: frozenset[str] = frozenset({"pd", "pandas", "np", "numpy", "re", "copy"})
|
|
40
|
+
|
|
41
|
+
# Builtins whose call is rejected by the AST layer. Union of the two
|
|
42
|
+
# pre-existing per-subsystem sets — the strict / RTFV-superset policy.
|
|
43
|
+
FORBIDDEN_BUILTINS: frozenset[str] = frozenset(
|
|
44
|
+
{
|
|
45
|
+
"__import__",
|
|
46
|
+
"eval",
|
|
47
|
+
"exec",
|
|
48
|
+
"compile",
|
|
49
|
+
"open",
|
|
50
|
+
"globals",
|
|
51
|
+
"locals",
|
|
52
|
+
"vars",
|
|
53
|
+
"getattr",
|
|
54
|
+
"setattr",
|
|
55
|
+
"delattr",
|
|
56
|
+
"breakpoint",
|
|
57
|
+
"input",
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def validate_compute_fn_source(source: str, *, kind: str) -> None:
|
|
63
|
+
"""Run the AST layer of compute_fn validation against *source*.
|
|
64
|
+
|
|
65
|
+
Enforces, in this order:
|
|
66
|
+
|
|
67
|
+
1. *source* is valid Python.
|
|
68
|
+
2. *source* contains exactly one top-level ``ast.FunctionDef`` (no
|
|
69
|
+
multi-statement modules, no decorators-only modules, no top-level
|
|
70
|
+
``async def``).
|
|
71
|
+
3. No nested ``ast.FunctionDef`` / ``ast.AsyncFunctionDef`` and no
|
|
72
|
+
``ast.Lambda`` anywhere inside the body.
|
|
73
|
+
4. No ``ast.Call`` whose target name (Name or Attribute) is in
|
|
74
|
+
:data:`FORBIDDEN_BUILTINS`.
|
|
75
|
+
5. Every ``ast.Import`` / ``ast.ImportFrom`` references a top-level
|
|
76
|
+
package in :data:`ALLOWED_MODULES`.
|
|
77
|
+
|
|
78
|
+
Args:
|
|
79
|
+
source: Plain-text Python source for the user function (will be
|
|
80
|
+
dedented internally).
|
|
81
|
+
kind: Domain prefix prepended to every error message; one of
|
|
82
|
+
``"streaming feature view"`` / ``"realtime feature view"``.
|
|
83
|
+
|
|
84
|
+
Raises:
|
|
85
|
+
ValueError: If any rule above is violated. The error message
|
|
86
|
+
names the offending construct and its line number.
|
|
87
|
+
"""
|
|
88
|
+
dedented = textwrap.dedent(source)
|
|
89
|
+
try:
|
|
90
|
+
tree = ast.parse(dedented)
|
|
91
|
+
except SyntaxError as e:
|
|
92
|
+
raise ValueError(f"{kind}: compute_fn source is not valid Python: {e.msg} (line {e.lineno}).") from e
|
|
93
|
+
|
|
94
|
+
if len(tree.body) != 1 or not isinstance(tree.body[0], ast.FunctionDef):
|
|
95
|
+
raise ValueError(
|
|
96
|
+
f"{kind}: compute_fn source must contain exactly one top-level "
|
|
97
|
+
"function definition. Decorators-only modules, multi-statement "
|
|
98
|
+
"modules, and async function definitions at the top level are "
|
|
99
|
+
"not supported."
|
|
100
|
+
)
|
|
101
|
+
outer_fn = tree.body[0]
|
|
102
|
+
|
|
103
|
+
for node in ast.walk(outer_fn):
|
|
104
|
+
if node is outer_fn:
|
|
105
|
+
continue
|
|
106
|
+
if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
|
|
107
|
+
raise ValueError(
|
|
108
|
+
f"{kind}: compute_fn must not contain nested function "
|
|
109
|
+
f"definitions; found {node.name!r} at line {node.lineno}. "
|
|
110
|
+
f"Inline the logic or import helpers from one of the allowed "
|
|
111
|
+
f"runtime namespace modules: {sorted(ALLOWED_NAMESPACE_KEYS)}."
|
|
112
|
+
)
|
|
113
|
+
if isinstance(node, ast.Lambda):
|
|
114
|
+
raise ValueError(
|
|
115
|
+
f"{kind}: compute_fn must not contain lambda expressions; " f"found one at line {node.lineno}."
|
|
116
|
+
)
|
|
117
|
+
if isinstance(node, ast.Call):
|
|
118
|
+
func = node.func
|
|
119
|
+
fname: Optional[str]
|
|
120
|
+
if isinstance(func, ast.Name):
|
|
121
|
+
fname = func.id
|
|
122
|
+
elif isinstance(func, ast.Attribute):
|
|
123
|
+
fname = func.attr
|
|
124
|
+
else:
|
|
125
|
+
fname = None
|
|
126
|
+
if fname is not None and fname in FORBIDDEN_BUILTINS:
|
|
127
|
+
raise ValueError(
|
|
128
|
+
f"{kind}: compute_fn must not call {fname!r}; found call "
|
|
129
|
+
f"at line {node.lineno}. Forbidden builtins: "
|
|
130
|
+
f"{sorted(FORBIDDEN_BUILTINS)}."
|
|
131
|
+
)
|
|
132
|
+
if isinstance(node, ast.Import):
|
|
133
|
+
for alias in node.names:
|
|
134
|
+
module = alias.name.split(".")[0]
|
|
135
|
+
if module not in ALLOWED_MODULES:
|
|
136
|
+
raise ValueError(
|
|
137
|
+
f"{kind}: import {alias.name!r} is not allowed in "
|
|
138
|
+
f"compute_fn. Allowed modules: {sorted(ALLOWED_MODULES)}."
|
|
139
|
+
)
|
|
140
|
+
elif isinstance(node, ast.ImportFrom):
|
|
141
|
+
if node.module:
|
|
142
|
+
module = node.module.split(".")[0]
|
|
143
|
+
if module not in ALLOWED_MODULES:
|
|
144
|
+
raise ValueError(
|
|
145
|
+
f"{kind}: import from {node.module!r} is not allowed "
|
|
146
|
+
f"in compute_fn. Allowed modules: {sorted(ALLOWED_MODULES)}."
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
def validate_compute_fn_callable(fn: Callable[..., Any], *, kind: str) -> None:
|
|
151
|
+
"""Run the closure-vars layer of compute_fn validation against *fn*.
|
|
152
|
+
|
|
153
|
+
Uses :func:`inspect.getclosurevars` to inspect the live callable. Names
|
|
154
|
+
bound by in-body imports and attribute lookups are filtered out before
|
|
155
|
+
the namespace check (see :func:`_collect_ast_local_names`) so
|
|
156
|
+
``import pandas`` and ``pd.DataFrame`` do not trip the check.
|
|
157
|
+
|
|
158
|
+
Three rules are enforced:
|
|
159
|
+
|
|
160
|
+
- ``cvars.nonlocals`` is empty: no closure references to an enclosing
|
|
161
|
+
scope.
|
|
162
|
+
- ``cvars.unbound`` (after filtering) is empty: every free name
|
|
163
|
+
resolves somewhere.
|
|
164
|
+
- ``cvars.globals`` (after filtering) live inside
|
|
165
|
+
:data:`ALLOWED_NAMESPACE_KEYS` ∪ ``{"__builtins__"}``.
|
|
166
|
+
|
|
167
|
+
Args:
|
|
168
|
+
fn: The user-supplied callable.
|
|
169
|
+
kind: Domain prefix prepended to every error message.
|
|
170
|
+
|
|
171
|
+
Raises:
|
|
172
|
+
ValueError: If *fn* references closures, unbound names, or globals
|
|
173
|
+
outside the runtime namespace. The message names each offender.
|
|
174
|
+
"""
|
|
175
|
+
try:
|
|
176
|
+
cvars = inspect.getclosurevars(fn)
|
|
177
|
+
except TypeError as e:
|
|
178
|
+
raise ValueError(f"{kind}: compute_fn closure variables are not inspectable: {e}") from e
|
|
179
|
+
|
|
180
|
+
if cvars.nonlocals:
|
|
181
|
+
offenders = sorted(cvars.nonlocals.keys())
|
|
182
|
+
raise ValueError(
|
|
183
|
+
f"{kind}: compute_fn must not reference enclosing-scope variables "
|
|
184
|
+
f"(closures); offending names: {offenders}. Inline the values or "
|
|
185
|
+
f"import from one of the allowed runtime namespace modules: "
|
|
186
|
+
f"{sorted(ALLOWED_NAMESPACE_KEYS)}."
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
try:
|
|
190
|
+
source = inspect.getsource(fn)
|
|
191
|
+
except (OSError, TypeError):
|
|
192
|
+
source = ""
|
|
193
|
+
import_names, attr_names = _collect_ast_local_names(source)
|
|
194
|
+
filterable = import_names | attr_names
|
|
195
|
+
|
|
196
|
+
effective_unbound = cvars.unbound - filterable
|
|
197
|
+
if effective_unbound:
|
|
198
|
+
offenders = sorted(effective_unbound)
|
|
199
|
+
raise ValueError(
|
|
200
|
+
f"{kind}: compute_fn references names that resolve nowhere: "
|
|
201
|
+
f"{offenders}. Check for typos, or import the symbol from one of "
|
|
202
|
+
f"the allowed runtime namespace modules: {sorted(ALLOWED_NAMESPACE_KEYS)}."
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
allowed_globals = set(ALLOWED_NAMESPACE_KEYS) | {"__builtins__"}
|
|
206
|
+
effective_globals = set(cvars.globals.keys()) - filterable
|
|
207
|
+
extra_globals = sorted(effective_globals - allowed_globals)
|
|
208
|
+
if extra_globals:
|
|
209
|
+
raise ValueError(
|
|
210
|
+
f"{kind}: compute_fn references symbols outside the allowed "
|
|
211
|
+
f"runtime namespace: {extra_globals}. Allowed namespace keys: "
|
|
212
|
+
f"{sorted(ALLOWED_NAMESPACE_KEYS)}. Inline the values or import "
|
|
213
|
+
f"the symbol from one of the allowed modules."
|
|
214
|
+
)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
def _collect_ast_local_names(source: str) -> tuple[set[str], set[str]]:
|
|
218
|
+
"""Return ``(import-name set, attribute-name set)`` for free-name filtering.
|
|
219
|
+
|
|
220
|
+
:func:`inspect.getclosurevars` reports every name read from
|
|
221
|
+
``co_names`` as either resolved or unbound. That set includes module
|
|
222
|
+
names from ``import x`` (``IMPORT_NAME`` reads them) and attribute
|
|
223
|
+
names from ``obj.attr`` (``LOAD_ATTR`` reads them). Neither class is
|
|
224
|
+
a real free name, so callers strip them before applying the namespace
|
|
225
|
+
check.
|
|
226
|
+
|
|
227
|
+
Args:
|
|
228
|
+
source: Dedented source of the user function. An empty / unparsable
|
|
229
|
+
string yields two empty sets (the closure check still runs).
|
|
230
|
+
|
|
231
|
+
Returns:
|
|
232
|
+
Tuple ``(imported_module_names, attribute_names)``.
|
|
233
|
+
"""
|
|
234
|
+
try:
|
|
235
|
+
tree = ast.parse(textwrap.dedent(source))
|
|
236
|
+
except SyntaxError:
|
|
237
|
+
return set(), set()
|
|
238
|
+
import_names: set[str] = set()
|
|
239
|
+
attr_names: set[str] = set()
|
|
240
|
+
for node in ast.walk(tree):
|
|
241
|
+
if isinstance(node, ast.Import):
|
|
242
|
+
for alias in node.names:
|
|
243
|
+
root = alias.name.split(".")[0]
|
|
244
|
+
import_names.add(root)
|
|
245
|
+
elif isinstance(node, ast.ImportFrom):
|
|
246
|
+
if node.module:
|
|
247
|
+
import_names.add(node.module.split(".")[0])
|
|
248
|
+
for alias in node.names:
|
|
249
|
+
if alias.name != "*":
|
|
250
|
+
import_names.add(alias.name)
|
|
251
|
+
elif isinstance(node, ast.Attribute):
|
|
252
|
+
attr_names.add(node.attr)
|
|
253
|
+
return import_names, attr_names
|
{snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/aggregation.py
RENAMED
|
@@ -175,6 +175,19 @@ class AggregationSpec:
|
|
|
175
175
|
f"'{self.output_column}', got: {percentile}"
|
|
176
176
|
)
|
|
177
177
|
|
|
178
|
+
# Validate params for approx_count_distinct (HLL precision)
|
|
179
|
+
if self.function == AggregationType.APPROX_COUNT_DISTINCT:
|
|
180
|
+
if "hll_lg_k" not in self.params:
|
|
181
|
+
raise ValueError(
|
|
182
|
+
f"Parameter 'precision' is required for approx_count_distinct aggregation '{self.output_column}'"
|
|
183
|
+
)
|
|
184
|
+
hll_lg_k = self.params["hll_lg_k"]
|
|
185
|
+
if not isinstance(hll_lg_k, int) or not (4 <= hll_lg_k <= 21):
|
|
186
|
+
raise ValueError(
|
|
187
|
+
f"Parameter 'precision' must be an integer between 4 and 21 for aggregation "
|
|
188
|
+
f"'{self.output_column}', got: {hll_lg_k}"
|
|
189
|
+
)
|
|
190
|
+
|
|
178
191
|
# Validate _SECONDARY_KEY_ARRAY specs
|
|
179
192
|
if self.function.is_secondary_key_array():
|
|
180
193
|
if self.params:
|
|
@@ -232,7 +245,7 @@ class AggregationSpec:
|
|
|
232
245
|
Similar to get_tile_column_name but with _CUM_ prefix instead of _PARTIAL_.
|
|
233
246
|
|
|
234
247
|
Args:
|
|
235
|
-
partial_type: One of "SUM", "COUNT", "SUM_SQ", "
|
|
248
|
+
partial_type: One of "SUM", "COUNT", "SUM_SQ", "DS_HLL", "TDIGEST", "MIN", "MAX", "FIRST".
|
|
236
249
|
|
|
237
250
|
Returns:
|
|
238
251
|
Column name used in the tile table (prefixed with _CUM_).
|
|
@@ -247,13 +260,13 @@ class AggregationSpec:
|
|
|
247
260
|
- _PARTIAL_SUM_{col}: SUM(col) - used by SUM, AVG, STD, VAR
|
|
248
261
|
- _PARTIAL_COUNT_{col}: COUNT(col) - used by COUNT, AVG, STD, VAR
|
|
249
262
|
- _PARTIAL_SUM_SQ_{col}: SUM(col*col) - used by STD, VAR
|
|
250
|
-
-
|
|
263
|
+
- _PARTIAL_DS_HLL_{col}: Datasketches HLL sketch (BINARY) - used by APPROX_COUNT_DISTINCT
|
|
251
264
|
- _PARTIAL_TDIGEST_{col}: T-Digest state - used by APPROX_PERCENTILE
|
|
252
265
|
|
|
253
266
|
This allows sharing columns across aggregation types on the same column.
|
|
254
267
|
|
|
255
268
|
Args:
|
|
256
|
-
partial_type: One of "SUM", "COUNT", "SUM_SQ", "
|
|
269
|
+
partial_type: One of "SUM", "COUNT", "SUM_SQ", "DS_HLL", "TDIGEST", "LAST", "FIRST".
|
|
257
270
|
|
|
258
271
|
Returns:
|
|
259
272
|
Column name used in the tile table (prefixed with _PARTIAL_).
|
{snowflake_ml_python-1.40.0 → snowflake_ml_python-1.42.0}/snowflake/ml/feature_store/feature.py
RENAMED
|
@@ -327,16 +327,20 @@ class Feature:
|
|
|
327
327
|
return cls(AggregationType.FIRST_DISTINCT_N, column, window, offset, n=n)
|
|
328
328
|
|
|
329
329
|
@classmethod
|
|
330
|
-
def approx_count_distinct(cls, column: str, window: str, offset: str = "0") -> Feature:
|
|
330
|
+
def approx_count_distinct(cls, column: str, window: str, offset: str = "0", *, precision: int = 8) -> Feature:
|
|
331
331
|
"""Create an APPROX_COUNT_DISTINCT aggregation feature.
|
|
332
332
|
|
|
333
|
-
Estimates the number of distinct values using
|
|
334
|
-
This is approximate but highly efficient for
|
|
333
|
+
Estimates the number of distinct values using the Apache Datasketches
|
|
334
|
+
HyperLogLog algorithm. This is approximate but highly efficient for
|
|
335
|
+
large datasets.
|
|
335
336
|
|
|
336
337
|
Args:
|
|
337
338
|
column: The column to count distinct values.
|
|
338
339
|
window: The lookback window.
|
|
339
340
|
offset: Offset to shift window into past. Default is "0" (no offset).
|
|
341
|
+
precision: Log-base-2 of the number of buckets in the HLL sketch.
|
|
342
|
+
Controls the trade-off between accuracy and memory. Valid range
|
|
343
|
+
is 4 to 21. Default is 8.
|
|
340
344
|
|
|
341
345
|
Returns:
|
|
342
346
|
A Feature configured for APPROX_COUNT_DISTINCT aggregation.
|
|
@@ -344,8 +348,9 @@ class Feature:
|
|
|
344
348
|
Example::
|
|
345
349
|
|
|
346
350
|
>>> unique_users = Feature.approx_count_distinct("user_id", "24h")
|
|
351
|
+
>>> precise_uniques = Feature.approx_count_distinct("user_id", "24h", precision=12)
|
|
347
352
|
"""
|
|
348
|
-
return cls(AggregationType.APPROX_COUNT_DISTINCT, column, window, offset)
|
|
353
|
+
return cls(AggregationType.APPROX_COUNT_DISTINCT, column, window, offset, hll_lg_k=precision)
|
|
349
354
|
|
|
350
355
|
@classmethod
|
|
351
356
|
def approx_percentile(cls, column: str, window: str, *, percentile: float = 0.5, offset: str = "0") -> Feature:
|