code: def requires_dependencies(
      requirements: Union[str, List[str]]
  ) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]:
      """Decorator variant of `require_dependencies`.
      Perform a runtime check of the dependency versions, using the exact same syntax used by pip.
      The installed module version comes from the *site-packages* dir via *importlib.metadata*.
  
      Args:
          requirements: pip style definition, e.g.,  "tokenizers==0.9.4", "tqdm>=4.27", "numpy"
  
      Example:
      ```python
      @requires_dependencies("datasets>1.17.0")
      def from_datasets(self, ...):
          ...
      ```
      """
  
      def decorator(func: Callable[_P, _R]) -> Callable[_P, _R]:
          @functools.wraps(func)
          def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> _R:
              require_dependencies(requirements, func.__name__)
              return func(*args, **kwargs)
  
          return wrapper
  
      return decorator
  
file_path: argilla/src/argilla/utils/dependency.py
imports: import functools
  import importlib.metadata
  import importlib.util
  import operator
  import re
  import sys
  from typing import Callable, Dict, List, Optional, TypeVar, Union
  from packaging import version
label_desc: Use image node_id 3 for calling a global function with example usage: requires_dependencies(requirements) and returns: decorator, wrapper, func