Skip to content

Commit f9deaa5

Browse files
authored
Merge branch 'master' into processing-job-codeartifact-support
2 parents b9404d0 + 31190c4 commit f9deaa5

File tree

143 files changed

+10159
-993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+10159
-993
lines changed

CHANGELOG.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# Changelog
22

3+
## v2.224.1 (2024-06-21)
4+
5+
### Bug Fixes and Other Changes
6+
7+
* JumpStart CuratedHub Launch
8+
* Update README.rst to show conda-forge version of SageMaker SDK
9+
* Update tox.ini
10+
* chore(deps): bump apache-airflow from 2.9.1 to 2.9.2 in /requirements/extras
11+
* Model server override logic
12+
13+
## v2.224.0 (2024-06-19)
14+
15+
### Features
16+
17+
* JumpStartModel attach
18+
19+
### Bug Fixes and Other Changes
20+
21+
* feat(sagemaker-mlflow): New features for SageMaker MLflow
22+
* Upgrading to PT 2.3 for release
23+
* chore: use ml.g5.2xlarge for integ test
24+
* Enable telemetry logging for Remote function
25+
* Fix Dependabot Issues - MLFlow Version
26+
27+
## v2.223.0 (2024-06-13)
28+
29+
### Features
30+
31+
* add 'ModelCard' property to Register step
32+
33+
### Bug Fixes and Other Changes
34+
35+
* Fix Sniping bug fix
36+
* Implement custom telemetry logging in SDK
37+
* Fix ci unit-tests
38+
* update image_uri_configs 06-12-2024 07:17:03 PST
39+
40+
## v2.222.1 (2024-06-12)
41+
42+
### Bug Fixes and Other Changes
43+
44+
* First changes
45+
* estimator.deploy not respecting instance type
46+
47+
## v2.222.0 (2024-06-07)
48+
49+
### Features
50+
51+
* jumpstart telemetry
52+
53+
### Bug Fixes and Other Changes
54+
55+
* update image_uri_configs 06-06-2024 07:17:31 PST
56+
* bump requests from 2.31.0 to 2.32.2 in /requirements/extras
57+
* chore: add HF LLM neuronx 0.0.23 image
58+
* Updates for DJL 0.28.0 release
59+
* chore(deps): bump mlflow from 2.11.1 to 2.12.1 in /tests/data/serve_resources/mlflow/tensorflow
60+
* chore(deps): bump mlflow from 2.11.1 to 2.12.1 in /tests/data/serve_resources/mlflow/xgboost
61+
* chore(deps): bump mlflow from 2.10.2 to 2.12.1 in /tests/data/serve_resources/mlflow/pytorch
62+
* chore(deps): bump apache-airflow from 2.9.0 to 2.9.1 in /requirements/extras
63+
* chore(deps): bump requests from 2.31.0 to 2.32.2 in /tests/data/serve_resources/mlflow/pytorch
64+
* Fix ci unit-tests
65+
* Making project name in workflow files dynamic
66+
* update image_uri_configs 05-29-2024 07:17:35 PST
67+
* Update: SM Endpoint Routing Strategy Support.
68+
369
## v2.221.1 (2024-05-22)
470

571
### Bug Fixes and Other Changes

README.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ SageMaker Python SDK
1010
:target: https://pypi.python.org/pypi/sagemaker
1111
:alt: Latest Version
1212

13+
.. image:: https://img.shields.io/conda/vn/conda-forge/sagemaker-python-sdk.svg
14+
:target: https://anaconda.org/conda-forge/sagemaker-python-sdk
15+
:alt: Conda-Forge Version
16+
1317
.. image:: https://img.shields.io/pypi/pyversions/sagemaker.svg
1418
:target: https://pypi.python.org/pypi/sagemaker
1519
:alt: Supported Python Versions
@@ -95,6 +99,13 @@ SageMaker Python SDK is tested on:
9599
- Python 3.10
96100
- Python 3.11
97101

102+
Telemetry
103+
~~~~~~~~~~~~~~~
104+
105+
The ``sagemaker`` library has telemetry enabled to help us better understand user needs, diagnose issues, and deliver new features. This telemetry tracks the usage of various SageMaker functions.
106+
107+
If you prefer to opt out of telemetry, you can easily do so by setting the ``TelemetryOptOut`` parameter to ``true`` in the SDK defaults configuration. For detailed instructions, please visit `Configuring and using defaults with the SageMaker Python SDK <https://sagemaker.readthedocs.io/en/stable/overview.html#configuring-and-using-defaults-with-the-sagemaker-python-sdk>`__.
108+
98109
AWS Permissions
99110
~~~~~~~~~~~~~~~
100111

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.221.2.dev0
1+
2.224.2.dev0

requirements/extras/test_requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ awslogs==0.14.0
1212
black==24.3.0
1313
stopit==1.1.2
1414
# Update tox.ini to have correct version of airflow constraints file
15-
apache-airflow==2.9.1
15+
apache-airflow==2.9.2
1616
apache-airflow-providers-amazon==7.2.1
1717
attrs>=23.1.0,<24
1818
fabric==2.6.0
19-
requests==2.31.0
19+
requests==2.32.2
2020
sagemaker-experiments==0.1.35
2121
Jinja2==3.1.4
2222
pyvis==0.2.1
@@ -37,3 +37,4 @@ nbformat>=5.9,<6
3737
accelerate>=0.24.1,<=0.27.0
3838
schema==0.7.5
3939
tensorflow>=2.1,<=2.16
40+
mlflow>=2.12.2,<2.13

src/sagemaker/accept_types.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def retrieve_options(
2424
region: Optional[str] = None,
2525
model_id: Optional[str] = None,
2626
model_version: Optional[str] = None,
27+
hub_arn: Optional[str] = None,
2728
tolerate_vulnerable_model: bool = False,
2829
tolerate_deprecated_model: bool = False,
2930
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
@@ -37,6 +38,8 @@ def retrieve_options(
3738
retrieve the supported accept types. (Default: None).
3839
model_version (str): The version of the model for which to retrieve the
3940
supported accept types. (Default: None).
41+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
42+
model details from. (Default: None).
4043
tolerate_vulnerable_model (bool): True if vulnerable versions of model
4144
specifications should be tolerated (exception not raised). If False, raises an
4245
exception if the script used by this version of the model has dependencies with known
@@ -60,11 +63,12 @@ def retrieve_options(
6063
)
6164

6265
return artifacts._retrieve_supported_accept_types(
63-
model_id,
64-
model_version,
65-
region,
66-
tolerate_vulnerable_model,
67-
tolerate_deprecated_model,
66+
model_id=model_id,
67+
model_version=model_version,
68+
hub_arn=hub_arn,
69+
region=region,
70+
tolerate_vulnerable_model=tolerate_vulnerable_model,
71+
tolerate_deprecated_model=tolerate_deprecated_model,
6872
sagemaker_session=sagemaker_session,
6973
)
7074

@@ -73,6 +77,7 @@ def retrieve_default(
7377
region: Optional[str] = None,
7478
model_id: Optional[str] = None,
7579
model_version: Optional[str] = None,
80+
hub_arn: Optional[str] = None,
7681
tolerate_vulnerable_model: bool = False,
7782
tolerate_deprecated_model: bool = False,
7883
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
@@ -87,6 +92,8 @@ def retrieve_default(
8792
retrieve the default accept type. (Default: None).
8893
model_version (str): The version of the model for which to retrieve the
8994
default accept type. (Default: None).
95+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
96+
model details from. (Default: None).
9097
tolerate_vulnerable_model (bool): True if vulnerable versions of model
9198
specifications should be tolerated (exception not raised). If False, raises an
9299
exception if the script used by this version of the model has dependencies with known
@@ -110,11 +117,12 @@ def retrieve_default(
110117
)
111118

112119
return artifacts._retrieve_default_accept_type(
113-
model_id,
114-
model_version,
115-
region,
116-
tolerate_vulnerable_model,
117-
tolerate_deprecated_model,
120+
model_id=model_id,
121+
model_version=model_version,
122+
hub_arn=hub_arn,
123+
region=region,
124+
tolerate_vulnerable_model=tolerate_vulnerable_model,
125+
tolerate_deprecated_model=tolerate_deprecated_model,
118126
sagemaker_session=sagemaker_session,
119127
model_type=model_type,
120128
)

src/sagemaker/chainer/model.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@
2828
from sagemaker.model import FrameworkModel, MODEL_SERVER_WORKERS_PARAM_NAME
2929
from sagemaker.chainer import defaults
3030
from sagemaker.deserializers import NumpyDeserializer
31+
from sagemaker.model_card import (
32+
ModelCard,
33+
ModelPackageModelCard,
34+
)
3135
from sagemaker.predictor import Predictor
3236
from sagemaker.serializers import NumpySerializer
3337
from sagemaker.utils import to_string
@@ -175,6 +179,7 @@ def register(
175179
data_input_configuration: Optional[Union[str, PipelineVariable]] = None,
176180
skip_model_validation: Optional[Union[str, PipelineVariable]] = None,
177181
source_uri: Optional[Union[str, PipelineVariable]] = None,
182+
model_card: Optional[Union[ModelPackageModelCard, ModelCard]] = None,
178183
):
179184
"""Creates a model package for creating SageMaker models or listing on Marketplace.
180185
@@ -226,6 +231,8 @@ def register(
226231
validation. Values can be "All" or "None" (default: None).
227232
source_uri (str or PipelineVariable): The URI of the source for the model package
228233
(default: None).
234+
model_card (ModeCard or ModelPackageModelCard): document contains qualitative and
235+
quantitative information about a model (default: None).
229236
230237
Returns:
231238
str: A string of SageMaker Model Package ARN.
@@ -266,6 +273,7 @@ def register(
266273
data_input_configuration=data_input_configuration,
267274
skip_model_validation=skip_model_validation,
268275
source_uri=source_uri,
276+
model_card=model_card,
269277
)
270278

271279
def prepare_container_def(
@@ -274,6 +282,7 @@ def prepare_container_def(
274282
accelerator_type=None,
275283
serverless_inference_config=None,
276284
accept_eula=None,
285+
model_reference_arn=None,
277286
):
278287
"""Return a container definition with framework configuration set in model environment.
279288
@@ -325,6 +334,7 @@ def prepare_container_def(
325334
self.model_data,
326335
deploy_env,
327336
accept_eula=accept_eula,
337+
model_reference_arn=model_reference_arn,
328338
)
329339

330340
def serving_image_uri(

src/sagemaker/content_types.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def retrieve_options(
2424
region: Optional[str] = None,
2525
model_id: Optional[str] = None,
2626
model_version: Optional[str] = None,
27+
hub_arn: Optional[str] = None,
2728
tolerate_vulnerable_model: bool = False,
2829
tolerate_deprecated_model: bool = False,
2930
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
@@ -37,6 +38,8 @@ def retrieve_options(
3738
retrieve the supported content types. (Default: None).
3839
model_version (str): The version of the model for which to retrieve the
3940
supported content types. (Default: None).
41+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
42+
model details from. (Default: None).
4043
tolerate_vulnerable_model (bool): True if vulnerable versions of model
4144
specifications should be tolerated (exception not raised). If False, raises an
4245
exception if the script used by this version of the model has dependencies with known
@@ -60,11 +63,12 @@ def retrieve_options(
6063
)
6164

6265
return artifacts._retrieve_supported_content_types(
63-
model_id,
64-
model_version,
65-
region,
66-
tolerate_vulnerable_model,
67-
tolerate_deprecated_model,
66+
model_id=model_id,
67+
model_version=model_version,
68+
hub_arn=hub_arn,
69+
region=region,
70+
tolerate_vulnerable_model=tolerate_vulnerable_model,
71+
tolerate_deprecated_model=tolerate_deprecated_model,
6872
sagemaker_session=sagemaker_session,
6973
)
7074

@@ -73,6 +77,7 @@ def retrieve_default(
7377
region: Optional[str] = None,
7478
model_id: Optional[str] = None,
7579
model_version: Optional[str] = None,
80+
hub_arn: Optional[str] = None,
7681
tolerate_vulnerable_model: bool = False,
7782
tolerate_deprecated_model: bool = False,
7883
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
@@ -87,6 +92,8 @@ def retrieve_default(
8792
retrieve the default content type. (Default: None).
8893
model_version (str): The version of the model for which to retrieve the
8994
default content type. (Default: None).
95+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
96+
model details from. (default: None).
9097
tolerate_vulnerable_model (bool): True if vulnerable versions of model
9198
specifications should be tolerated (exception not raised). If False, raises an
9299
exception if the script used by this version of the model has dependencies with known
@@ -110,11 +117,12 @@ def retrieve_default(
110117
)
111118

112119
return artifacts._retrieve_default_content_type(
113-
model_id,
114-
model_version,
115-
region,
116-
tolerate_vulnerable_model,
117-
tolerate_deprecated_model,
120+
model_id=model_id,
121+
model_version=model_version,
122+
hub_arn=hub_arn,
123+
region=region,
124+
tolerate_vulnerable_model=tolerate_vulnerable_model,
125+
tolerate_deprecated_model=tolerate_deprecated_model,
118126
sagemaker_session=sagemaker_session,
119127
model_type=model_type,
120128
)

src/sagemaker/deserializers.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def retrieve_options(
4343
region: Optional[str] = None,
4444
model_id: Optional[str] = None,
4545
model_version: Optional[str] = None,
46+
hub_arn: Optional[str] = None,
4647
tolerate_vulnerable_model: bool = False,
4748
tolerate_deprecated_model: bool = False,
4849
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
@@ -56,6 +57,8 @@ def retrieve_options(
5657
retrieve the supported deserializers. (Default: None).
5758
model_version (str): The version of the model for which to retrieve the
5859
supported deserializers. (Default: None).
60+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
61+
model details from. (Default: None).
5962
tolerate_vulnerable_model (bool): True if vulnerable versions of model
6063
specifications should be tolerated (exception not raised). If False, raises an
6164
exception if the script used by this version of the model has dependencies with known
@@ -80,11 +83,12 @@ def retrieve_options(
8083
)
8184

8285
return artifacts._retrieve_deserializer_options(
83-
model_id,
84-
model_version,
85-
region,
86-
tolerate_vulnerable_model,
87-
tolerate_deprecated_model,
86+
model_id=model_id,
87+
model_version=model_version,
88+
hub_arn=hub_arn,
89+
region=region,
90+
tolerate_vulnerable_model=tolerate_vulnerable_model,
91+
tolerate_deprecated_model=tolerate_deprecated_model,
8892
sagemaker_session=sagemaker_session,
8993
)
9094

@@ -93,6 +97,7 @@ def retrieve_default(
9397
region: Optional[str] = None,
9498
model_id: Optional[str] = None,
9599
model_version: Optional[str] = None,
100+
hub_arn: Optional[str] = None,
96101
tolerate_vulnerable_model: bool = False,
97102
tolerate_deprecated_model: bool = False,
98103
sagemaker_session: Session = DEFAULT_JUMPSTART_SAGEMAKER_SESSION,
@@ -107,6 +112,8 @@ def retrieve_default(
107112
retrieve the default deserializer. (Default: None).
108113
model_version (str): The version of the model for which to retrieve the
109114
default deserializer. (Default: None).
115+
hub_arn (str): The arn of the SageMaker Hub for which to retrieve
116+
model details from. (Default: None).
110117
tolerate_vulnerable_model (bool): True if vulnerable versions of model
111118
specifications should be tolerated (exception not raised). If False, raises an
112119
exception if the script used by this version of the model has dependencies with known
@@ -131,11 +138,12 @@ def retrieve_default(
131138
)
132139

133140
return artifacts._retrieve_default_deserializer(
134-
model_id,
135-
model_version,
136-
region,
137-
tolerate_vulnerable_model,
138-
tolerate_deprecated_model,
141+
model_id=model_id,
142+
model_version=model_version,
143+
hub_arn=hub_arn,
144+
region=region,
145+
tolerate_vulnerable_model=tolerate_vulnerable_model,
146+
tolerate_deprecated_model=tolerate_deprecated_model,
139147
sagemaker_session=sagemaker_session,
140148
model_type=model_type,
141149
)

src/sagemaker/djl_inference/model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,7 @@ def prepare_container_def(
732732
accelerator_type=None,
733733
serverless_inference_config=None,
734734
accept_eula=None,
735+
model_reference_arn=None,
735736
): # pylint: disable=unused-argument
736737
"""A container definition with framework configuration set in model environment variables.
737738

0 commit comments

Comments
 (0)