|
21 | 21 | V2_URL = "https://sagemaker.readthedocs.io/en/stable/v2.html" |
22 | 22 |
|
23 | 23 |
|
24 | | -def _warn(msg): |
| 24 | +def _warn(msg, sdk_version=None): |
25 | 25 | """Generic warning raiser referencing V2 |
26 | 26 |
|
27 | 27 | Args: |
28 | 28 | phrase: The phrase to include in the warning. |
| 29 | + sdk_version: the sdk version of removal of support. |
29 | 30 | """ |
30 | | - full_msg = f"{msg} in sagemaker>=2.\nSee: {V2_URL} for details." |
| 31 | + _sdk_version = sdk_version if sdk_version is not None else "2" |
| 32 | + full_msg = f"{msg} in sagemaker>={_sdk_version}.\nSee: {V2_URL} for details." |
31 | 33 | warnings.warn(full_msg, DeprecationWarning, stacklevel=2) |
32 | 34 | logger.warning(full_msg) |
33 | 35 |
|
34 | 36 |
|
35 | | -def removed_warning(phrase): |
| 37 | +def removed_warning(phrase, sdk_version=None): |
36 | 38 | """Raise a warning for a no-op in sagemaker>=2 |
37 | 39 |
|
38 | 40 | Args: |
39 | 41 | phrase: the prefix phrase of the warning message. |
| 42 | + sdk_version: the sdk version of removal of support. |
40 | 43 | """ |
41 | | - _warn(f"{phrase} is a no-op") |
| 44 | + _warn(f"{phrase} is a no-op", sdk_version) |
42 | 45 |
|
43 | 46 |
|
44 | 47 | def renamed_warning(phrase): |
@@ -146,26 +149,32 @@ def func(*args, **kwargs): # pylint: disable=W0613 |
146 | 149 | return func |
147 | 150 |
|
148 | 151 |
|
149 | | -def deprecated(obj): |
| 152 | +def deprecated(sdk_version=None): |
150 | 153 | """Decorator for raising deprecated warning for a feature in sagemaker>=2 |
151 | 154 |
|
| 155 | + Args: |
| 156 | + sdk_version (str): the sdk version of removal of support. |
| 157 | +
|
152 | 158 | Usage: |
153 | | - @deprecated |
| 159 | + @deprecated() |
154 | 160 | def sample_function(): |
155 | 161 | print("xxxx....") |
156 | 162 |
|
157 | | - @deprecated |
| 163 | + @deprecated(sdk_version="2.66") |
158 | 164 | class SampleClass(): |
159 | 165 | def __init__(self): |
160 | 166 | print("xxxx....") |
161 | 167 |
|
162 | 168 | """ |
163 | 169 |
|
164 | | - def wrapper(*args, **kwargs): |
165 | | - removed_warning(obj.__name__) |
166 | | - return obj(*args, **kwargs) |
| 170 | + def deprecate(obj): |
| 171 | + def wrapper(*args, **kwargs): |
| 172 | + removed_warning(obj.__name__, sdk_version) |
| 173 | + return obj(*args, **kwargs) |
| 174 | + |
| 175 | + return wrapper |
167 | 176 |
|
168 | | - return wrapper |
| 177 | + return deprecate |
169 | 178 |
|
170 | 179 |
|
171 | 180 | def deprecated_function(func, name): |
|
0 commit comments