piptools.repositories.pypi module

class piptools.repositories.pypi.FileStream(stream, size)

Bases: NamedTuple

_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('stream', 'size')
classmethod _make(iterable)

Make a new FileStream object from a sequence or iterable

_replace(**kwds)

Return a new FileStream object replacing specified fields with new values

size: float | None

Alias for field number 1

stream: BinaryIO

Alias for field number 0

class piptools.repositories.pypi.PyPIRepository(pip_args: list[str], cache_dir: str)

Bases: BaseRepository

HASHABLE_PACKAGE_TYPES = {'bdist_wheel', 'sdist'}

The PyPIRepository will use the provided Finder instance to lookup packages. Typically, it looks up packages on PyPI (the default implicit config), but any other PyPI mirror can be used if index_urls is changed/configured on the Finder.

_abc_impl = <_abc._abc_data object>
_available_candidates_cache: dict[str, list[InstallationCandidate]]
_clear_finder_cache() None

Clear the cache of installation candidates.

_command: InstallCommand
_dependencies_cache: dict[InstallRequirement, set[InstallRequirement]]
_get_download_path(ireq: InstallRequirement) str

Determine the download dir location in a way which avoids name collisions.

_get_file_hash(link: Link) str
_get_hashes_from_pypi(ireq: InstallRequirement) dict[str, str]

Builds a mapping from the release URLs to their hashes as reported by the PyPI JSON API for a given InstallRequirement.

_get_matching_candidates(ireq: InstallRequirement) set[InstallationCandidate]

Returns all candidates that satisfy the given InstallRequirement.

_get_project(ireq: InstallRequirement) Any

Return a dict of a project info from PyPI JSON API for a given InstallRequirement. Return None on HTTP/JSON error or if a package is not found on PyPI server.

API reference: https://warehouse.readthedocs.io/api-reference/json/

_get_req_hashes(ireq: InstallRequirement) set[str]

Collects the hashes for all candidates satisfying the given InstallRequirement. Computes the hashes for the candidates that don’t have one reported by their index.

_options: Values
allow_all_wheels() Iterator[None]

Monkey patches pip.Wheel to allow wheels from all platforms and Python versions.

This also saves the candidate cache and set a new one, or else the results from the previous non-patched calls will interfere.

clear_caches() None

Should clear any caches used by the implementation.

property command: InstallCommand

Return an install command instance.

find_all_candidates(req_name: str) list[InstallationCandidate]
find_best_match(ireq: InstallRequirement, prereleases: bool | None = None) InstallRequirement

Returns a pinned InstallRequirement object that indicates the best match for the given InstallRequirement according to the external repository.

property finder: PackageFinder

Returns a package finder to interact with simple repository API (PEP 503)

get_dependencies(ireq: InstallRequirement) set[InstallRequirement]

Given a pinned, URL, or editable InstallRequirement, returns a set of dependencies (also InstallRequirements, but not necessarily pinned). They indicate the secondary dependencies for the given requirement.

get_hashes(ireq: InstallRequirement) set[str]

Given an InstallRequirement, return a set of hashes that represent all of the files for a given requirement. Unhashable requirements return an empty set. Unpinned requirements raise a TypeError.

property options: Values

Returns parsed pip options

resolve_reqs(download_dir: str | None, ireq: InstallRequirement, wheel_cache: WheelCache) set[InstallationCandidate]
property session: PipSession

Returns a session to make requests

piptools.repositories.pypi.candidate_version(candidate: InstallationCandidate) _BaseVersion
piptools.repositories.pypi.open_local_or_remote_file(link: Link, session: Session) Iterator[FileStream]

Open local or remote file for reading.

Raises:

ValueError – If link points to a local directory.

Returns:

a context manager to a FileStream with the opened file-like object