code: def provides(interface):
      """
      A validator that raises a `TypeError` if the initializer is called
      with an object that does not provide the requested *interface* (checks are
      performed using ``interface.providedBy(value)`` (see `zope.interface
      <https://zopeinterface.readthedocs.io/en/latest/>`_).
  
      :param interface: The interface to check for.
      :type interface: ``zope.interface.Interface``
  
      :raises TypeError: With a human readable error message, the attribute
          (of type `attrs.Attribute`), the expected interface, and the
          value it got.
  
      .. deprecated:: 23.1.0
      """
      import warnings
  
      warnings.warn(
          "attrs's zope-interface support is deprecated and will be removed in, "
          "or after, April 2024.",
          DeprecationWarning,
          stacklevel=2,
      )
      return _ProvidesValidator(interface)
  
imports: import operator
  import re
  from contextlib import contextmanager
  from re import Pattern
  from ._config import get_run_validators, set_run_validators
  from ._make import _AndValidator, and_, attrib, attrs
  from .converters import default_if_none
  from .exceptions import NotCallableError
label_desc: Use image node_id 6 for calling a global function with example usage: provides(interface) and returns: _ProvidesValidator