diff --git a/crates/install-wheel-rs/src/wheel.rs b/crates/install-wheel-rs/src/wheel.rs index f1444d1a9..384b024ab 100644 --- a/crates/install-wheel-rs/src/wheel.rs +++ b/crates/install-wheel-rs/src/wheel.rs @@ -1030,8 +1030,12 @@ pub fn find_dist_info( filename: &WheelFilename, archive: &mut ZipArchive, ) -> Result { - let dist_info_matcher = - format!("{}-{}", filename.distribution, filename.version).to_lowercase(); + let dist_info_matcher = format!( + "{}-{}", + filename.distribution.as_dist_info_name(), + filename.version + ) + .to_lowercase(); let dist_infos: Vec<_> = archive .file_names() .filter_map(|name| name.split_once('/')) diff --git a/crates/puffin-normalize/src/package_name.rs b/crates/puffin-normalize/src/package_name.rs index d569dfb76..19f89d93a 100644 --- a/crates/puffin-normalize/src/package_name.rs +++ b/crates/puffin-normalize/src/package_name.rs @@ -36,6 +36,13 @@ impl PackageName { normalized.make_ascii_lowercase(); Self(normalized) } + + /// Escape this name with underscores (`_`) instead of dashes (`-`) + /// + /// See: + pub fn as_dist_info_name(&self) -> String { + self.0.replace('-', "_") + } } impl AsRef for PackageName {