Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.3.2
6.5.0
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Release History

## 1.18.0

### Bug Fixes

* Registry: The create_service API now validates that a model has a GPU runtime configuration and will throw a
descriptive error if the configuration is missing.

### Behavior Changes

### New Features

* Registry (PrPr): Introducing `ModelVersion.run_batch` for batch inference in Snowpark Container Services.
* Experiment Tracking (PrPr): Added `version_name` argument to the autologging callbacks
to specify the version name for the autologged model.

### Deprecations

* `Python 3.9` is deprecated.

## 1.17.0

### Bug Fixes
Expand All @@ -21,6 +40,8 @@
* Jobs submitted using v2 will automatically use the latest Container Runtime image
* v1 behavior can be restored by setting environment variable `MLRS_USE_SUBMIT_JOB_V2` to `false`

### Deprecations

## 1.16.0

### Bug Fixes
Expand Down
3 changes: 2 additions & 1 deletion bazel/environments/conda-env-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ dependencies:
- packaging==24.1
- pandas==2.1.4
- platformdirs==4.3.7
- prophet==1.1.5
- protobuf==4.25.3
- psutil==5.9.0
- pyarrow==16.1.0
Expand All @@ -55,7 +56,7 @@ dependencies:
- sentence-transformers==2.7.0
- sentencepiece==0.1.99
- shap==0.46.0
- snowflake-connector-python==3.16.0
- snowflake-connector-python==3.17.0
- snowflake-snowpark-python==1.28.0
- snowflake.core==1.0.5
- sphinx==5.0.2
Expand Down
2 changes: 1 addition & 1 deletion bazel/environments/conda-env-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ dependencies:
- scikit-learn==1.5.1
- scipy==1.11.3
- shap==0.46.0
- snowflake-connector-python==3.16.0
- snowflake-connector-python==3.17.0
- snowflake-snowpark-python==1.28.0
- snowflake.core==1.0.5
- sphinx==5.0.2
Expand Down
2 changes: 1 addition & 1 deletion bazel/environments/conda-env-keras.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ dependencies:
- scikit-learn==1.5.1
- scipy==1.11.3
- shap==0.46.0
- snowflake-connector-python==3.16.0
- snowflake-connector-python==3.17.0
- snowflake-snowpark-python==1.28.0
- snowflake.core==1.0.5
- sphinx==5.0.2
Expand Down
3 changes: 2 additions & 1 deletion bazel/environments/conda-env-ml.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ dependencies:
- packaging==24.1
- pandas==2.1.4
- platformdirs==4.3.7
- prophet==1.1.5
- protobuf==4.25.3
- psutil==5.9.0
- pyarrow==16.1.0
Expand All @@ -51,7 +52,7 @@ dependencies:
- scikit-learn==1.5.1
- scipy==1.11.3
- shap==0.46.0
- snowflake-connector-python==3.16.0
- snowflake-connector-python==3.17.0
- snowflake-snowpark-python==1.28.0
- snowflake.core==1.0.5
- sphinx==5.0.2
Expand Down
2 changes: 1 addition & 1 deletion bazel/environments/conda-env-torch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ dependencies:
- sentence-transformers==2.7.0
- sentencepiece==0.1.99
- shap==0.46.0
- snowflake-connector-python==3.16.0
- snowflake-connector-python==3.17.0
- snowflake-snowpark-python==1.28.0
- snowflake.core==1.0.5
- sphinx==5.0.2
Expand Down
1 change: 1 addition & 0 deletions bazel/environments/conda-optional-dependency-ml.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ dependencies:
- catboost>=1.2.0, <2
- lightgbm>=4.1.0, <5
- mlflow>=2.16.0, <3
- prophet>=1.1.0, <2
- streamlit>=1.30.0,<2
2 changes: 1 addition & 1 deletion bazel/environments/requirements_core.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ s3fs==2024.6.1
scikit-learn==1.5.1
scipy==1.11.3
shap==0.46.0
snowflake-connector-python[pandas]==3.16.0
snowflake-connector-python[pandas]==3.17.0
snowflake-snowpark-python==1.28.0
snowflake.core==1.0.5
sphinx==5.0.2
Expand Down
2 changes: 1 addition & 1 deletion bazel/environments/requirements_keras.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ s3fs==2024.6.1
scikit-learn==1.5.1
scipy==1.11.3
shap==0.46.0
snowflake-connector-python[pandas]==3.16.0
snowflake-connector-python[pandas]==3.17.0
snowflake-snowpark-python==1.28.0
snowflake.core==1.0.5
sphinx==5.0.2
Expand Down
3 changes: 2 additions & 1 deletion bazel/environments/requirements_ml.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ numpy==1.26.4
packaging==24.1
pandas==2.1.4
platformdirs==4.3.7
prophet==1.1.5
protobuf==4.25.3
psutil==5.9.0
pyarrow==16.1.0
Expand All @@ -45,7 +46,7 @@ s3fs==2024.6.1
scikit-learn==1.5.1
scipy==1.11.3
shap==0.46.0
snowflake-connector-python[pandas]==3.16.0
snowflake-connector-python[pandas]==3.17.0
snowflake-snowpark-python==1.28.0
snowflake.core==1.0.5
sphinx==5.0.2
Expand Down
2 changes: 1 addition & 1 deletion bazel/environments/requirements_torch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ scipy==1.11.3
sentence-transformers==2.7.0
sentencepiece==0.1.99
shap==0.46.0
snowflake-connector-python[pandas]==3.16.0
snowflake-connector-python[pandas]==3.17.0
snowflake-snowpark-python==1.28.0
snowflake.core==1.0.5
sphinx==5.0.2
Expand Down
2 changes: 1 addition & 1 deletion bazel/platforms/optional_dependency_groups.bzl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
OPTIONAL_DEPENDENCY_GROUPS = {
"keras": ["torch", "tensorflow", "keras"],
"ml": ["lightgbm", "catboost", "mlflow", "altair", "streamlit"],
"ml": ["lightgbm", "catboost", "mlflow", "altair", "streamlit", "prophet"],
"torch": ["torch", "transformers", "mlflow"],
}
2 changes: 1 addition & 1 deletion bazel/requirements/templates/meta.tpl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build:
requirements:
build:
- python
- bazel==6.3.2
- bazel==6.5.0
run:
- python>=3.9,<3.13

Expand Down
7 changes: 4 additions & 3 deletions ci/conda_recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ build:
noarch: python
package:
name: snowflake-ml-python
version: 1.17.0
version: 1.18.0
requirements:
build:
- python
- bazel==6.3.2
- bazel==6.5.0
run:
- aiohttp!=4.0.0a0, !=4.0.0a1
- anyio>=3.5.0,<5
Expand All @@ -45,7 +45,7 @@ requirements:
- scikit-learn<1.8
- scipy>=1.9,<2
- shap>=0.46.0,<1
- snowflake-connector-python>=3.16.0,<4
- snowflake-connector-python>=3.17.0,<4
- snowflake-snowpark-python>=1.17.0,<2,!=1.26.0
- snowflake.core>=1.0.2,<2
- sqlparse>=0.4,<1
Expand All @@ -59,6 +59,7 @@ requirements:
- keras>=2.0.0,<4
- lightgbm>=4.1.0, <5
- mlflow>=2.16.0, <3
- prophet>=1.1.0, <2
- pytorch>=2.0.1,<3
- sentence-transformers>=2.7.0,<4
- sentencepiece>=0.1.95,<0.2.0
Expand Down
14 changes: 1 addition & 13 deletions ci/targets/quarantine/prod3.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
//tests/integ/snowflake/ml/extra_tests:multi_label_column_name_test
//tests/integ/snowflake/ml/extra_tests:xgboost_external_memory_training_test
//tests/integ/snowflake/ml/extra_tests:pipeline_with_ohe_and_xgbr_test
//tests/integ/snowflake/ml/modeling/manifold:spectral_embedding_test
//tests/integ/snowflake/ml/modeling/linear_model:logistic_regression_test
//tests/integ/snowflake/ml/registry/services:registry_huggingface_pipeline_model_deployment_test
//tests/integ/snowflake/ml/registry/services:registry_custom_model_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_batch_inference_case_sensitivity_test
//tests/integ/snowflake/ml/registry/services:registry_sentence_transformers_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_lightgbm_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_sklearn_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_xgboost_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_tensorflow_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_pytorch_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_catboost_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_keras_batch_inference_test
//tests/integ/snowflake/ml/registry/services:registry_mlflow_batch_inference_test
//tests/integ/snowflake/ml/registry/jobs:registry_huggingface_pipeline_batch_inference_test
17 changes: 15 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,21 @@ Acknowledgements
| **lightgbm** Copyright © Microsoft Corporation.
|

Table of Contents
=================
Container Runtime for ML APIs
=============================

The following APIs are available only in the version of ``snowpark-ml-python`` available in the Container Runtime for ML, accessible in Snowflake Notebooks running on Snowpark Container Services (SPCS).

.. toctree::
:maxdepth: 2

distributors
data_sharded_data_connector

Standard APIs
=============

The following APIs are available in both the Container Runtime for ML and in the standalone client version of ``snowpark-ml-python`` accessible through conda and pip, in Snowsight Python worksheets, and in Snowflake notebooks running on a warehouse.

.. toctree::
:maxdepth: 3
Expand Down
9 changes: 7 additions & 2 deletions requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@
version_requirements: '>=2.1.4,<3'
- name: protobuf
dev_version: 4.25.3
- name: prophet
dev_version: 1.1.5
version_requirements: '>=1.1.0, <2'
requirements_extra_tags:
- prophet
- name: psutil
dev_version: 5.9.0
tags:
Expand Down Expand Up @@ -231,8 +236,8 @@
- transformers
- name_conda: snowflake-connector-python
name_pypi: snowflake-connector-python[pandas]
dev_version: 3.16.0
version_requirements: '>=3.16.0,<4'
dev_version: 3.17.0
version_requirements: '>=3.17.0,<4'
- name: snowflake.core
dev_version: 1.0.5
version_requirements: '>=1.0.2,<2'
Expand Down
5 changes: 3 additions & 2 deletions snowflake/ml/_internal/telemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ def _get_snowflake_connection() -> Optional[connector.SnowflakeConnection]:
class TelemetryProject(enum.Enum):
MLOPS = "MLOps"
MODELING = "ModelDevelopment"
EXPERIMENT_TRACKING = "ExperimentTracking"
# TODO: Update with remaining projects.


Expand Down Expand Up @@ -464,14 +465,14 @@ def send_api_usage_telemetry(

# noqa: DAR402
"""
start_time = time.perf_counter()

if subproject is not None and subproject_extractor is not None:
raise ValueError("Specifying both subproject and subproject_extractor is not allowed")

def decorator(func: Callable[_Args, _ReturnValue]) -> Callable[_Args, _ReturnValue]:
@functools.wraps(func)
def wrap(*args: Any, **kwargs: Any) -> _ReturnValue:
start_time = time.perf_counter()

params = _get_func_params(func, func_params_to_log, args, kwargs) if func_params_to_log else None

api_calls: list[Union[dict[str, Union[Callable[..., Any], str]], Callable[..., Any], str]] = []
Expand Down
1 change: 1 addition & 0 deletions snowflake/ml/experiment/_client/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ py_library(
"experiment_tracking_sql_client.py",
],
deps = [
"//snowflake/ml/_internal:telemetry",
"//snowflake/ml/_internal/utils:query_result_checker",
"//snowflake/ml/_internal/utils:sql_identifier",
"//snowflake/ml/model/_client/sql:_base",
Expand Down
Loading