Skip to content

[fast-deps] Caching during dependency resolution #8720

@McSinyx

Description

@McSinyx

Depending on the command, the file may already exist:

  1. pip install - wheel cache or HTTP cache
  2. pip wheel - wheel download folder, wheel cache, or HTTP cache
  3. pip download - download folder, wheel cache, or HTTP cache

In all three cases, I think the wheel cache piece may be handled earlier during resolving, so we wouldn't inadvertently use a lazy wheel for it.

In all three cases, it may be the case that the file we want is already in the HTTP cache. I don't know if range requests bypass the HTTP cache or it does what we want (which would be to return the requested bytes from the file on disk). Maybe it is worth it to see if the request is cached first, and just skip the lazy wheel?

In pip wheel and pip download, the user may have already downloaded some of the files, and we would want to be able to use those rather than lazily downloading the metadata. Note that the logic refactored in #8685 does not account for this.

Originally posted by @chrahunt in #8697 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    C: cacheDealing with cache and files in itC: downloadAbout fetching data from PyPI and other sourcesS: needs triageIssues/PRs that need to be triagedstate: needs discussionThis needs some more discussion

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions