diff --git a/Cargo.lock b/Cargo.lock
index 3e886a2aa..9eb25f967 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2461,6 +2461,7 @@ dependencies = [
"futures",
"fxhash",
"install-wheel-rs",
+ "pep440_rs 0.3.12",
"platform-tags",
"puffin-cache",
"puffin-client",
diff --git a/crates/distribution-types/src/cached.rs b/crates/distribution-types/src/cached.rs
index f26acbbe7..be264321a 100644
--- a/crates/distribution-types/src/cached.rs
+++ b/crates/distribution-types/src/cached.rs
@@ -134,9 +134,17 @@ impl CachedDirectUrlDist {
}
}
-impl CachedRegistryDist {
+#[derive(Debug, Clone)]
+pub struct CachedWheel {
+ /// The filename of the wheel.
+ pub filename: WheelFilename,
+ /// The path to the wheel.
+ pub path: PathBuf,
+}
+
+impl CachedWheel {
/// Try to parse a distribution from a cached directory name (like `typing-extensions-4.8.0-py3-none-any`).
- pub fn try_from_path(path: &Path) -> Result