From 25deda23f233d20c48712d15ce29ab43348535ad Mon Sep 17 00:00:00 2001 From: SkalskiP Date: Thu, 29 Feb 2024 10:11:29 +0100 Subject: [PATCH 1/2] ready for test in colab --- supervision/detection/tools/polygon_zone.py | 7 ++- supervision/utils/internal.py | 55 ++++++++++----------- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/supervision/detection/tools/polygon_zone.py b/supervision/detection/tools/polygon_zone.py index a017d55e..f427984c 100644 --- a/supervision/detection/tools/polygon_zone.py +++ b/supervision/detection/tools/polygon_zone.py @@ -33,10 +33,9 @@ class PolygonZone: old_parameter="triggering_position", new_parameter="triggering_anchors", map_function=lambda x: [x], - warning_message="Warning: '{old_parameter}' in '{function_name}' " - "is deprecated and will be remove in " - "'{removal_sv_version}: use '{new_parameter}' instead.", - removal_sv_version="supervision-0.23.0", + warning_message="`{old_parameter}` in `{function_name}` is deprecated and will " + "be remove in `supervision-0.23.0`. Use '{new_parameter}' " + "instead." ) def __init__( self, diff --git a/supervision/utils/internal.py b/supervision/utils/internal.py index 2749e360..377e2824 100644 --- a/supervision/utils/internal.py +++ b/supervision/utils/internal.py @@ -7,54 +7,53 @@ def deprecated_parameter( old_parameter: str, new_parameter: str, map_function: Callable = lambda x: x, - warning_message: str = "Warning: '{old_parameter}' in '{function_name}' " - "is deprecated: use '{new_parameter}' instead.", + warning_message: str = "Warning: '{old_parameter}' in '{function_name}' is " + "deprecated: use '{new_parameter}' instead.", **message_kwargs, ): """ - A decorator to mark a function's parameter as deprecated - and issue a warning when used. + A decorator to mark a function's parameter as deprecated and issue a warning when + used. Parameters: - - old_parameter (str): The name of the deprecated parameter. - - new_parameter (str): The name of the parameter that should be used instead. - - map_function (Callable, optional): A function used to map the value of the old - parameter to the new parameter. Defaults to the identity function. - - warn_message (str, optional): The warning message to be displayed when the - deprecated parameter is used. Defaults to a generic warning message with - placeholders for the old parameter, new parameter, and function name. - - **message_kwargs: Additional keyword arguments that can be used to customize - the warning message. + old_parameter (str): The name of the deprecated parameter. + new_parameter (str): The name of the parameter that should be used instead. + map_function (Callable, optional): A function used to map the value of the old + parameter to the new parameter. Defaults to the identity function. + warning_message (str, optional): The warning message to be displayed when the + deprecated parameter is used. Defaults to a generic warning message with + placeholders for the old parameter, new parameter, and function name. + **message_kwargs: Additional keyword arguments that can be used to customize + the warning message. Returns: - Callable: A decorator function that can be applied to mark a function's - parameter as deprecated. + Callable: A decorator function that can be applied to mark a function's + parameter as deprecated. - Usage Example: - ```python - @deprecated_parameter(old_parameter="old_param", new_parameter="new_param") - def example_function(new_param): - print(f"Function called with new_param: {new_param}") + Examples: + ```python + @deprecated_parameter( + old_parameter=, + new_parameter= + ) + def example_function(): + pass - # When calling the function with the deprecated parameter: - example_function(old_param="deprecated_value") - ``` - This will trigger a deprecation warning and execute the function with the mapped - value of the deprecated parameter. + # call function using deprecated parameter + example_function(=) + ``` """ def decorator(func): @functools.wraps(func) def wrapper(*args, **kwargs): if old_parameter in kwargs: - # In case of a method, display also the class name. if args and hasattr(args[0], "__class__"): class_name = args[0].__class__.__name__ function_name = f"{class_name}.{func.__name__}" else: function_name = func.__name__ - # Display deprecation warning warnings.warn( message=warning_message.format( function_name=function_name, @@ -65,7 +64,7 @@ def deprecated_parameter( category=DeprecationWarning, stacklevel=2, ) - # Map old_param to new_param + kwargs[new_parameter] = map_function(kwargs.pop(old_parameter)) return func(*args, **kwargs) From f12182b016a69443891630f5b7ffa63df51662e3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 29 Feb 2024 09:15:23 +0000 Subject: [PATCH 2/2] =?UTF-8?q?fix(pre=5Fcommit):=20=F0=9F=8E=A8=20auto=20?= =?UTF-8?q?format=20pre-commit=20hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- supervision/detection/tools/polygon_zone.py | 4 ++-- supervision/utils/internal.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/supervision/detection/tools/polygon_zone.py b/supervision/detection/tools/polygon_zone.py index f427984c..d7f22835 100644 --- a/supervision/detection/tools/polygon_zone.py +++ b/supervision/detection/tools/polygon_zone.py @@ -34,8 +34,8 @@ class PolygonZone: new_parameter="triggering_anchors", map_function=lambda x: [x], warning_message="`{old_parameter}` in `{function_name}` is deprecated and will " - "be remove in `supervision-0.23.0`. Use '{new_parameter}' " - "instead." + "be remove in `supervision-0.23.0`. Use '{new_parameter}' " + "instead.", ) def __init__( self, diff --git a/supervision/utils/internal.py b/supervision/utils/internal.py index 377e2824..0bd5efd7 100644 --- a/supervision/utils/internal.py +++ b/supervision/utils/internal.py @@ -8,7 +8,7 @@ def deprecated_parameter( new_parameter: str, map_function: Callable = lambda x: x, warning_message: str = "Warning: '{old_parameter}' in '{function_name}' is " - "deprecated: use '{new_parameter}' instead.", + "deprecated: use '{new_parameter}' instead.", **message_kwargs, ): """