diff --git a/news/dep-msg-helper.rst b/news/dep-msg-helper.rst new file mode 100644 index 0000000..733801e --- /dev/null +++ b/news/dep-msg-helper.rst @@ -0,0 +1,23 @@ +**Added:** + +* Add ``deprecation_message`` helper for printing consistent deprecation messages. + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/src/diffpy/utils/_deprecator.py b/src/diffpy/utils/_deprecator.py index 91f3c0f..80b183e 100644 --- a/src/diffpy/utils/_deprecator.py +++ b/src/diffpy/utils/_deprecator.py @@ -81,3 +81,28 @@ def wrapper(*args, **kwargs): ) return decorator + + +def deprecation_message(base, old_name, new_name, removal_version): + """Generate a deprecation message. + + Parameters + ---------- + base : str + The base module or class where the deprecated item resides. + old_name : str + The name of the deprecated item. + new_name : str + The name of the new item to use. + removal_version : str + The version when the deprecated item will be removed. + + Returns + ------- + str + A formatted deprecation message. + """ + return ( + f"'{base}.{old_name}' is deprecated and will be removed in " + f"version {removal_version}. Please use '{base}.{new_name}' instead." + )