code: def retry(*r_args, **r_kwargs):
      """
      Decorator wrapper for retry_call. Accepts arguments to retry_call
      except func and then returns a decorator for the decorated function.
  
      Ex:
  
      >>> @retry(retries=3)
      ... def my_func(a, b):
      ...     "this is my funk"
      ...     print(a, b)
      >>> my_func.__doc__
      'this is my funk'
      """
  
      def decorate(func):
          @functools.wraps(func)
          def wrapper(*f_args, **f_kwargs):
              bound = functools.partial(func, *f_args, **f_kwargs)
              return retry_call(bound, *r_args, **r_kwargs)
  
          return wrapper
  
      return decorate
  
imports: import functools
  import time
  import inspect
  import collections
  import types
  import itertools
  import warnings
  import setuptools.extern.more_itertools
  from typing import Callable, TypeVar
label_desc: Use image node_id 12 for calling a global function with example usage: retry() and returns: decorate, wrapper, retry_call