(
        self,
        candidates,  # type: List[InstallationCandidate]
    )
return filter_unallowed_hashes(
            candidates=applicable_candidates,
            hashes=self._hashes,
            project_name=self._project_name,
        )
Return the applicable candidates from a list of candidates.
Return the applicable candidates from a list of candidates.
Return the applicable candidates from a list of candidates .
def get_applicable_candidates(
        self,
        candidates,  # type: List[InstallationCandidate]
    ):
        # type: (...) -> List[InstallationCandidate]
        """
        Return the applicable candidates from a list of candidates.
        """
        # Using None infers from the specifier instead.
        allow_prereleases = self._allow_all_prereleases or None
        specifier = self._specifier
        versions = {
            str(v) for v in specifier.filter(
                # We turn the version object into a str here because otherwise
                # when we're debundled but setuptools isn't, Python will see
                # packaging.version.Version and
                # pkg_resources._vendor.packaging.version.Version as different
                # types. This way we'll use a str as a common data interchange
                # format. If we stop using the pkg_resources provided specifier
                # and start using our own, we can drop the cast to str().
                (str(c.version) for c in candidates),
                prereleases=allow_prereleases,
            )
        }

        # Again, converting version to str to deal with debundling.
        applicable_candidates = [
            c for c in candidates if str(c.version) in versions
        ]

        return filter_unallowed_hashes(
            candidates=applicable_candidates,
            hashes=self._hashes,
            project_name=self._project_name,
        )
def get_applicable_candidates ( self , candidates , # type: List[InstallationCandidate] ) : # type: (...) -> List[InstallationCandidate] # Using None infers from the specifier instead. allow_prereleases = self . _allow_all_prereleases or None specifier = self . _specifier versions = { str ( v ) for v in specifier . filter ( # We turn the version object into a str here because otherwise # when we're debundled but setuptools isn't, Python will see # packaging.version.Version and # pkg_resources._vendor.packaging.version.Version as different # types. This way we'll use a str as a common data interchange # format. If we stop using the pkg_resources provided specifier # and start using our own, we can drop the cast to str(). ( str ( c . version ) for c in candidates ) , prereleases = allow_prereleases , ) } # Again, converting version to str to deal with debundling. applicable_candidates = [ c for c in candidates if str ( c . version ) in versions ] return filter_unallowed_hashes ( candidates = applicable_candidates , hashes = self . _hashes , project_name = self . _project_name , )