Source code for pycognaize.common.decorators

import warnings
import pycognaize


[docs] def module_not_found(stack_level: int = 2): """ Warns user that function uses a module that is not listed in requirements.txt and is not installed in the environment :param stack_level: stack level of the warning :type stack_level: int """ def module_not_found_custom(func): def wrapper(*args, **kwargs): try: return func(*args, **kwargs) except ModuleNotFoundError as e: message = f"Please install module " \ f"{str(e).split(' ')[-1]}. \n" \ f"It can be found in model-requirements.txt" warnings.warn(message, UserWarning, stacklevel=stack_level) return wrapper return module_not_found_custom
[docs] def soon_be_deprecated(version: str = None, stack_level: int = 2): """ Warns user that the function they use will soon be deprecated. :param version: version after which the function will be deprecated :type version: str :param stack_level: stack level of the warning :type stack_level: int """ if version is None: old_version = pycognaize.__version__.split(".") version = f"{old_version[0]}.{str(int(old_version[1]) + 1)}.0" def soon_be_deprecated_custom(func): def wrapper(*args, **kwargs): message = f"This function will be deprecated after " \ f"version {version}" warnings.warn(message, DeprecationWarning, stacklevel=stack_level) return func(*args, **kwargs) return wrapper return soon_be_deprecated_custom