piptools.repositories.local module#
- class piptools.repositories.local.LocalRequirementsRepository(existing_pins: Mapping[str, InstallationCandidate], proxied_repository: PyPIRepository, reuse_hashes: bool = True)#
Bases:
BaseRepository
The LocalRequirementsRepository proxied the _real_ repository by first checking if a requirement can be satisfied by existing pins (i.e. the result of a previous compile step).
In effect, if a requirement can be satisfied with a version pinned in the requirements file, we prefer that version over the best match found in PyPI. This keeps updates to the requirements.txt down to a minimum.
- _abc_impl = <_abc._abc_data object>#
- allow_all_wheels() Iterator[None] #
Monkey patches pip.Wheel to allow wheels from all platforms and Python versions.
- property command: InstallCommand#
Return an install command instance.
- find_best_match(ireq: InstallRequirement, prereleases: bool | None = None) InstallationCandidate #
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 a pinned InstallRequirement, returns a set of hashes that represent all of the files for a given requirement. It is not acceptable for an editable or unpinned requirement to be passed to this function.
- property session: PipSession#
Returns a session to make requests