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 `attr.Attribute`), the expected interface, and the
          value it got.
      """
      return _ProvidesValidator(interface)
  
imports: from __future__ import absolute_import, division, print_function
  import re
  from ._make import _AndValidator, and_, attrib, attrs
  from .exceptions import NotCallableError
label_desc: Use image node_id 3 for calling a global function with example usage: provides(interface) and returns: _ProvidesValidator