@@ -343,7 +343,12 @@ def wrapper(self, *args, **kwargs):
343343 return backend_version_decorator
344344
345345
346- def deprecated_method (alternative : str | None = None , info : str | None = None ):
346+ def deprecated_method (
347+ alternative : str | None = None ,
348+ info : str | None = None ,
349+ version : str | None = None ,
350+ remove : str | None = None ,
351+ ):
347352 """Decorate a method as deprecated.
348353
349354 Parameters
@@ -353,6 +358,10 @@ def deprecated_method(alternative: str | None = None, info: str | None = None):
353358 include the alternative method.
354359 info : str, default: None
355360 Additional information to include in the warning message.
361+ version : str, default: None
362+ Version where the method was deprecated.
363+ remove : str, default: None
364+ Version where the method will be removed.
356365 """
357366
358367 def deprecated_decorator (method ):
@@ -362,6 +371,10 @@ def wrapper(*args, **kwargs):
362371 msg += f" Use '{ alternative } ' instead."
363372 if info :
364373 msg += f" { info } "
374+ if version :
375+ msg += f" This method was deprecated in version { version } ."
376+ if remove :
377+ msg += f" This method will be removed in version { remove } ."
365378 warnings .warn (msg , DeprecationWarning )
366379 return method (* args , ** kwargs )
367380
@@ -370,7 +383,13 @@ def wrapper(*args, **kwargs):
370383 return deprecated_decorator
371384
372385
373- def deprecated_argument (arg : str , alternative : str | None = None , info : str | None = None ):
386+ def deprecated_argument (
387+ arg : str ,
388+ alternative : str | None = None ,
389+ info : str | None = None ,
390+ version : str | None = None ,
391+ remove : str | None = None ,
392+ ):
374393 """Decorate a method argument as deprecated.
375394
376395 Parameters
@@ -382,6 +401,10 @@ def deprecated_argument(arg: str, alternative: str | None = None, info: str | No
382401 include the alternative argument.
383402 info : str, default: None
384403 Additional information to include in the warning message.
404+ version : str, default: None
405+ Version where the method was deprecated.
406+ remove : str, default: None
407+ Version where the method will be removed.
385408 """
386409
387410 def deprecated_decorator (method ):
@@ -392,6 +415,10 @@ def wrapper(*args, **kwargs):
392415 msg += f" Use '{ alternative } ' instead."
393416 if info :
394417 msg += f" { info } "
418+ if version :
419+ msg += f" This argument was deprecated in version { version } ."
420+ if remove :
421+ msg += f" This argument will be removed in version { remove } ."
395422 warnings .warn (msg , DeprecationWarning )
396423
397424 return method (* args , ** kwargs )
0 commit comments