code: def is_wheel(self):
          
          probably_sdist = os.path.isfile(os.path.join(self.source_directory, 'setup.py'))
          probably_wheel = len(glob.glob(os.path.join(self.source_directory, '*.dist-info', 'WHEEL'))) > 0
          if probably_wheel and not probably_sdist:
              return True
          elif probably_sdist and not probably_wheel:
              return False
          elif probably_sdist and probably_wheel:
              variables = dict(requirement=self.setuptools_requirement,
                               directory=self.source_directory)
              raise UnknownDistributionFormat("""
                  The unpacked distribution of {requirement} in {directory} looks
                  like a source distribution and a wheel distribution, I'm
                  confused!
              """, **variables)
          else:
              variables = dict(requirement=self.setuptools_requirement,
                               directory=self.source_directory)
              raise UnknownDistributionFormat("""
                  The unpacked distribution of {requirement} in {directory}
                  doesn't look like a source distribution and also doesn't look
                  like a wheel distribution, I'm confused!
              """, **variables)
docs: :data:`True` when the requirement is a wheel, :data:`False` otherwise.
  
          .. note:: To my surprise it seems to be non-trivial to determine
                    whether a given :class:`pip.req.InstallRequirement` object
                    produced by pip's internal Python API concerns a source
                    distribution or a wheel distribution.
  
                    There's a :class:`pip.req.InstallRequirement.is_wheel`
                    property but I'm currently looking at a wheel distribution
                    whose ``is_wheel`` property returns :data:`None`, apparently
                    because the requirement's ``url`` property is also :data:`None`.
  
                    Whether this is an obscure implementation detail of pip or
                    caused by the way pip-accel invokes pip, I really can't tell
                    (yet).