diff --git a/README.md b/README.md index 49efe2a0c..3ed7636a6 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,12 @@ Puffin's limited scope allows us to solve many of the low-level problems that ar build such a package manager (like package installation) while shipping an immediately useful tool with a minimal barrier to adoption. Try it today in lieu of `pip` and `pip-tools`. +## Features + +- Extremely fast dependency resolution and installation: install dependencies in sub-second time. +- Disk-space efficient: Puffin uses a global cache to deduplicate dependencies, and uses + Copy-on-Write on supported filesystems to reduce disk usage. + ## Limitations Puffin does not yet support: diff --git a/crates/pep508-rs/src/lib.rs b/crates/pep508-rs/src/lib.rs index 4aefd4aef..2e033644e 100644 --- a/crates/pep508-rs/src/lib.rs +++ b/crates/pep508-rs/src/lib.rs @@ -304,16 +304,14 @@ impl Requirement { impl Requirement { /// Returns `true` if the [`Version`] satisfies the [`Requirement`]. pub fn is_satisfied_by(&self, version: &Version) -> bool { - let Some(specifiers) = - self.version_or_url - .as_ref() - .and_then(|version_or_url| match version_or_url { - VersionOrUrl::VersionSpecifier(specifiers) => Some(specifiers), - // TODO(charlie): Support URL dependencies. - VersionOrUrl::Url(_) => None, - }) - else { - return false; + let Some(version_or_url) = self.version_or_url.as_ref() else { + return true; + }; + + let specifiers = match version_or_url { + VersionOrUrl::VersionSpecifier(specifiers) => specifiers, + // TODO(charlie): Support URL dependencies. + VersionOrUrl::Url(_) => return false, }; specifiers