pub struct Lock { /* private fields */ }Implementations§
Source§impl Lock
impl Lock
Sourcepub fn from_resolution(
resolution: &ResolverOutput,
root: &Path,
) -> Result<Self, LockError>
pub fn from_resolution( resolution: &ResolverOutput, root: &Path, ) -> Result<Self, LockError>
Initialize a Lock from a ResolverOutput.
Sourcepub fn with_manifest(self, manifest: ResolverManifest) -> Self
pub fn with_manifest(self, manifest: ResolverManifest) -> Self
Record the requirements that were used to generate this lock.
Sourcepub fn with_conflicts(self, conflicts: Conflicts) -> Self
pub fn with_conflicts(self, conflicts: Conflicts) -> Self
Record the conflicting groups that were used to generate this lock.
Sourcepub fn with_supported_environments(
self,
supported_environments: Vec<MarkerTree>,
) -> Self
pub fn with_supported_environments( self, supported_environments: Vec<MarkerTree>, ) -> Self
Record the supported environments that were used to generate this lock.
Sourcepub fn with_required_environments(
self,
required_environments: Vec<MarkerTree>,
) -> Self
pub fn with_required_environments( self, required_environments: Vec<MarkerTree>, ) -> Self
Record the required platforms that were used to generate this lock.
Sourcepub fn supports_provides_extra(&self) -> bool
pub fn supports_provides_extra(&self) -> bool
Returns true if this Lock includes provides-extra metadata.
Sourcepub fn includes_empty_groups(&self) -> bool
pub fn includes_empty_groups(&self) -> bool
Returns true if this Lock includes entries for empty dependency-group metadata.
Sourcepub fn requires_python(&self) -> &RequiresPython
pub fn requires_python(&self) -> &RequiresPython
Returns the supported Python version range for the lockfile, if present.
Sourcepub fn resolution_mode(&self) -> ResolutionMode
pub fn resolution_mode(&self) -> ResolutionMode
Returns the resolution mode used to generate this lock.
Sourcepub fn prerelease_mode(&self) -> PrereleaseMode
pub fn prerelease_mode(&self) -> PrereleaseMode
Returns the pre-release mode used to generate this lock.
Sourcepub fn fork_strategy(&self) -> ForkStrategy
pub fn fork_strategy(&self) -> ForkStrategy
Returns the multi-version mode used to generate this lock.
Sourcepub fn exclude_newer(&self) -> ExcludeNewer
pub fn exclude_newer(&self) -> ExcludeNewer
Returns the exclude newer setting used to generate this lock.
Sourcepub fn conflicts(&self) -> &Conflicts
pub fn conflicts(&self) -> &Conflicts
Returns the conflicting groups that were used to generate this lock.
Sourcepub fn supported_environments(&self) -> &[MarkerTree]
pub fn supported_environments(&self) -> &[MarkerTree]
Returns the supported environments that were used to generate this lock.
Sourcepub fn required_environments(&self) -> &[MarkerTree]
pub fn required_environments(&self) -> &[MarkerTree]
Returns the required platforms that were used to generate this lock.
Sourcepub fn members(&self) -> &BTreeSet<PackageName>
pub fn members(&self) -> &BTreeSet<PackageName>
Returns the workspace members that were used to generate this lock.
Sourcepub fn requirements(&self) -> &BTreeSet<Requirement>
pub fn requirements(&self) -> &BTreeSet<Requirement>
Returns the dependency groups that were used to generate this lock.
Sourcepub fn dependency_groups(&self) -> &BTreeMap<GroupName, BTreeSet<Requirement>>
pub fn dependency_groups(&self) -> &BTreeMap<GroupName, BTreeSet<Requirement>>
Returns the dependency groups that were used to generate this lock.
Sourcepub fn build_constraints(&self, root: &Path) -> Constraints
pub fn build_constraints(&self, root: &Path) -> Constraints
Returns the build constraints that were used to generate this lock.
Sourcepub fn simplified_supported_environments(&self) -> Vec<MarkerTree>
pub fn simplified_supported_environments(&self) -> Vec<MarkerTree>
Returns the supported environments that were used to generate this lock.
The markers returned here are “simplified” with respect to the lock
file’s requires-python setting. This means these should only be used
for direct comparison purposes with the supported environments written
by a human in pyproject.toml. (Think of “supported environments” in
pyproject.toml as having an implicit and python_full_version >= '{requires-python-bound}' attached to each one.)
Sourcepub fn simplified_required_environments(&self) -> Vec<MarkerTree>
pub fn simplified_required_environments(&self) -> Vec<MarkerTree>
Returns the required platforms that were used to generate this lock.
Sourcepub fn simplify_environment(&self, marker: MarkerTree) -> MarkerTree
pub fn simplify_environment(&self, marker: MarkerTree) -> MarkerTree
Simplify the given marker environment with respect to the lockfile’s
requires-python setting.
Sourcepub fn fork_markers(&self) -> &[UniversalMarker]
pub fn fork_markers(&self) -> &[UniversalMarker]
If this lockfile was built from a forking resolution with non-identical forks, return the
markers of those forks, otherwise None.
Sourcepub fn check_marker_coverage(&self) -> Result<(), (MarkerTree, MarkerTree)>
pub fn check_marker_coverage(&self) -> Result<(), (MarkerTree, MarkerTree)>
Checks whether the fork markers cover the entire supported marker space.
Returns the actually covered and the expected marker space on validation error.
Sourcepub fn requires_python_coverage(
&self,
new_requires_python: &RequiresPython,
) -> Result<(), (MarkerTree, MarkerTree)>
pub fn requires_python_coverage( &self, new_requires_python: &RequiresPython, ) -> Result<(), (MarkerTree, MarkerTree)>
Checks whether the new requires-python specification is disjoint with the fork markers in this lock file.
If they are disjoint, then the union of the fork markers along with the given requires-python specification (converted to a marker tree) are returned.
When disjoint, the fork markers in the lock file should be dropped and not used.
Sourcepub fn to_toml(&self) -> Result<String, Error>
pub fn to_toml(&self) -> Result<String, Error>
Returns the TOML representation of this lockfile.
Sourcepub fn find_by_name(
&self,
name: &PackageName,
) -> Result<Option<&Package>, String>
pub fn find_by_name( &self, name: &PackageName, ) -> Result<Option<&Package>, String>
Returns the package with the given name. If there are multiple
matching packages, then an error is returned. If there are no
matching packages, then Ok(None) is returned.
Sourcepub async fn satisfies<Context: BuildContext>(
&self,
root: &Path,
packages: &BTreeMap<PackageName, WorkspaceMember>,
members: &[PackageName],
required_members: &BTreeMap<PackageName, Editability>,
requirements: &[Requirement],
constraints: &[Requirement],
overrides: &[Requirement],
excludes: &[PackageName],
build_constraints: &[Requirement],
dependency_groups: &BTreeMap<GroupName, Vec<Requirement>>,
dependency_metadata: &DependencyMetadata,
indexes: Option<&IndexLocations>,
tags: &Tags,
markers: &MarkerEnvironment,
hasher: &HashStrategy,
index: &InMemoryIndex,
database: &DistributionDatabase<'_, Context>,
) -> Result<SatisfiesResult<'_>, LockError>
pub async fn satisfies<Context: BuildContext>( &self, root: &Path, packages: &BTreeMap<PackageName, WorkspaceMember>, members: &[PackageName], required_members: &BTreeMap<PackageName, Editability>, requirements: &[Requirement], constraints: &[Requirement], overrides: &[Requirement], excludes: &[PackageName], build_constraints: &[Requirement], dependency_groups: &BTreeMap<GroupName, Vec<Requirement>>, dependency_metadata: &DependencyMetadata, indexes: Option<&IndexLocations>, tags: &Tags, markers: &MarkerEnvironment, hasher: &HashStrategy, index: &InMemoryIndex, database: &DistributionDatabase<'_, Context>, ) -> Result<SatisfiesResult<'_>, LockError>
Check whether the lock matches the project structure, requirements and configuration.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Lock
impl<'de> Deserialize<'de> for Lock
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Lock
impl StructuralPartialEq for Lock
Auto Trait Implementations§
impl Freeze for Lock
impl RefUnwindSafe for Lock
impl Send for Lock
impl Sync for Lock
impl Unpin for Lock
impl UnwindSafe for Lock
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more