mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 13:25:00 +00:00
Move lowered requirement source type out of uv-pypi-types
(#12356)
## Summary This crate is for standards-compliant types, but this is explicitly a type that's custom to uv. It's also strange because we kind of want to reference `IndexUrl` on the registry type, but that's in a crate that _depends_ on `uv-pypi-types`, which to me is a sign that this is off.
This commit is contained in:
parent
cf20d9a1ca
commit
46967723bb
58 changed files with 145 additions and 160 deletions
6
Cargo.lock
generated
6
Cargo.lock
generated
|
@ -4927,11 +4927,11 @@ dependencies = [
|
|||
"uv-cache",
|
||||
"uv-cache-info",
|
||||
"uv-cache-key",
|
||||
"uv-distribution-types",
|
||||
"uv-normalize",
|
||||
"uv-pep440",
|
||||
"uv-pep508",
|
||||
"uv-platform-tags",
|
||||
"uv-pypi-types",
|
||||
"uv-static",
|
||||
"which",
|
||||
]
|
||||
|
@ -5112,6 +5112,7 @@ dependencies = [
|
|||
"serde",
|
||||
"serde_json",
|
||||
"thiserror 2.0.12",
|
||||
"toml",
|
||||
"tracing",
|
||||
"url",
|
||||
"uv-auth",
|
||||
|
@ -5467,12 +5468,10 @@ dependencies = [
|
|||
"serde",
|
||||
"serde-untagged",
|
||||
"thiserror 2.0.12",
|
||||
"toml",
|
||||
"toml_edit",
|
||||
"tracing",
|
||||
"url",
|
||||
"uv-distribution-filename",
|
||||
"uv-fs",
|
||||
"uv-git-types",
|
||||
"uv-normalize",
|
||||
"uv-pep440",
|
||||
|
@ -5763,6 +5762,7 @@ dependencies = [
|
|||
"tracing",
|
||||
"uv-cache",
|
||||
"uv-dirs",
|
||||
"uv-distribution-types",
|
||||
"uv-fs",
|
||||
"uv-install-wheel",
|
||||
"uv-installer",
|
||||
|
|
|
@ -4,7 +4,7 @@ use uv_bench::criterion::black_box;
|
|||
use uv_bench::criterion::{criterion_group, criterion_main, measurement::WallTime, Criterion};
|
||||
use uv_cache::Cache;
|
||||
use uv_client::RegistryClientBuilder;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_python::PythonEnvironment;
|
||||
use uv_resolver::Manifest;
|
||||
|
||||
|
|
|
@ -29,11 +29,11 @@ use tracing::{debug, info_span, instrument, Instrument};
|
|||
|
||||
use uv_configuration::{BuildKind, BuildOutput, ConfigSettings, SourceStrategy};
|
||||
use uv_distribution::BuildRequires;
|
||||
use uv_distribution_types::{IndexLocations, Resolution};
|
||||
use uv_distribution_types::{IndexLocations, Requirement, Resolution};
|
||||
use uv_fs::{PythonExt, Simplified};
|
||||
use uv_pep440::Version;
|
||||
use uv_pep508::PackageName;
|
||||
use uv_pypi_types::{Requirement, VerbatimParsedUrl};
|
||||
use uv_pypi_types::VerbatimParsedUrl;
|
||||
use uv_python::{Interpreter, PythonEnvironment};
|
||||
use uv_static::EnvVars;
|
||||
use uv_types::{AnyErrorBuild, BuildContext, BuildIsolation, BuildStack, SourceBuildTrait};
|
||||
|
|
|
@ -20,11 +20,11 @@ uv-auth = { workspace = true }
|
|||
uv-cache = { workspace = true }
|
||||
uv-cache-info = { workspace = true }
|
||||
uv-cache-key = { workspace = true }
|
||||
uv-distribution-types = { workspace = true }
|
||||
uv-normalize = { workspace = true }
|
||||
uv-pep440 = { workspace = true }
|
||||
uv-pep508 = { workspace = true, features = ["schemars"] }
|
||||
uv-platform-tags = { workspace = true }
|
||||
uv-pypi-types = { workspace = true }
|
||||
uv-static = { workspace = true }
|
||||
|
||||
clap = { workspace = true, features = ["derive"], optional = true }
|
||||
|
|
|
@ -3,9 +3,9 @@ use std::borrow::Cow;
|
|||
use either::Either;
|
||||
use rustc_hash::FxHashMap;
|
||||
|
||||
use uv_distribution_types::{Requirement, RequirementSource};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_pypi_types::{Requirement, RequirementSource};
|
||||
|
||||
/// A set of constraints for a set of requirements.
|
||||
#[derive(Debug, Default, Clone)]
|
||||
|
|
|
@ -3,9 +3,9 @@ use std::borrow::Cow;
|
|||
use either::Either;
|
||||
use rustc_hash::{FxBuildHasher, FxHashMap};
|
||||
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_pypi_types::Requirement;
|
||||
|
||||
/// A set of overrides for a set of requirements.
|
||||
#[derive(Debug, Default, Clone)]
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
use either::Either;
|
||||
use std::path::{Path, PathBuf};
|
||||
use uv_pep508::PackageName;
|
||||
|
||||
use either::Either;
|
||||
use rustc_hash::FxHashMap;
|
||||
|
||||
use uv_cache::Refresh;
|
||||
use uv_cache_info::Timestamp;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_pep508::PackageName;
|
||||
|
||||
/// Whether to reinstall packages.
|
||||
#[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize)]
|
||||
|
|
|
@ -24,11 +24,11 @@ use uv_distribution::DistributionDatabase;
|
|||
use uv_distribution_filename::DistFilename;
|
||||
use uv_distribution_types::{
|
||||
CachedDist, DependencyMetadata, Identifier, IndexCapabilities, IndexLocations,
|
||||
IsBuildBackendError, Name, Resolution, SourceDist, VersionOrUrlRef,
|
||||
IsBuildBackendError, Name, Requirement, Resolution, SourceDist, VersionOrUrlRef,
|
||||
};
|
||||
use uv_git::GitResolver;
|
||||
use uv_installer::{Installer, Plan, Planner, Preparer, SitePackages};
|
||||
use uv_pypi_types::{Conflicts, Requirement};
|
||||
use uv_pypi_types::Conflicts;
|
||||
use uv_python::{Interpreter, PythonEnvironment};
|
||||
use uv_resolver::{
|
||||
ExcludeNewer, FlatIndex, Flexibility, InMemoryIndex, Manifest, OptionsBuilder,
|
||||
|
|
|
@ -46,3 +46,8 @@ thiserror = { workspace = true }
|
|||
tracing = { workspace = true }
|
||||
url = { workspace = true }
|
||||
version-ranges = { workspace = true }
|
||||
|
||||
|
||||
[dev-dependencies]
|
||||
toml = { workspace = true }
|
||||
|
||||
|
|
|
@ -71,6 +71,7 @@ pub use crate::origin::*;
|
|||
pub use crate::pip_index::*;
|
||||
pub use crate::prioritized_distribution::*;
|
||||
pub use crate::requested::*;
|
||||
pub use crate::requirement::*;
|
||||
pub use crate::resolution::*;
|
||||
pub use crate::resolved::*;
|
||||
pub use crate::specified_requirement::*;
|
||||
|
@ -96,6 +97,7 @@ mod origin;
|
|||
mod pip_index;
|
||||
mod prioritized_distribution;
|
||||
mod requested;
|
||||
mod requirement;
|
||||
mod resolution;
|
||||
mod resolved;
|
||||
mod specified_requirement;
|
||||
|
|
|
@ -15,7 +15,7 @@ use uv_pep508::{
|
|||
marker, MarkerEnvironment, MarkerTree, RequirementOrigin, VerbatimUrl, VersionOrUrl,
|
||||
};
|
||||
|
||||
use crate::{
|
||||
use uv_pypi_types::{
|
||||
ConflictItem, Hashes, ParsedArchiveUrl, ParsedDirectoryUrl, ParsedGitUrl, ParsedPathUrl,
|
||||
ParsedUrl, ParsedUrlError, VerbatimParsedUrl,
|
||||
};
|
|
@ -1,9 +1,9 @@
|
|||
use uv_distribution_filename::DistExtension;
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_pypi_types::{HashDigest, HashDigests, RequirementSource};
|
||||
use uv_pypi_types::{HashDigest, HashDigests};
|
||||
|
||||
use crate::{BuiltDist, Diagnostic, Dist, Name, ResolvedDist, SourceDist};
|
||||
use crate::{BuiltDist, Diagnostic, Dist, Name, RequirementSource, ResolvedDist, SourceDist};
|
||||
|
||||
/// A set of packages pinned at specific versions.
|
||||
///
|
||||
|
|
|
@ -3,9 +3,9 @@ use std::fmt::{Display, Formatter};
|
|||
|
||||
use uv_normalize::ExtraName;
|
||||
use uv_pep508::{MarkerEnvironment, UnnamedRequirement};
|
||||
use uv_pypi_types::{Hashes, Requirement, RequirementSource};
|
||||
use uv_pypi_types::Hashes;
|
||||
|
||||
use crate::VerbatimParsedUrl;
|
||||
use crate::{Requirement, RequirementSource, VerbatimParsedUrl};
|
||||
|
||||
/// An [`UnresolvedRequirement`] with additional metadata from `requirements.txt`, currently only
|
||||
/// hashes but in the future also editable and similar information.
|
||||
|
|
|
@ -2,7 +2,7 @@ use std::collections::BTreeMap;
|
|||
use std::path::Path;
|
||||
|
||||
use uv_configuration::SourceStrategy;
|
||||
use uv_distribution_types::IndexLocations;
|
||||
use uv_distribution_types::{IndexLocations, Requirement};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_workspace::pyproject::ToolUvSources;
|
||||
use uv_workspace::{
|
||||
|
@ -15,7 +15,7 @@ use crate::metadata::{LoweredRequirement, MetadataError};
|
|||
#[derive(Debug, Clone)]
|
||||
pub struct BuildRequires {
|
||||
pub name: Option<PackageName>,
|
||||
pub requires_dist: Vec<uv_pypi_types::Requirement>,
|
||||
pub requires_dist: Vec<Requirement>,
|
||||
}
|
||||
|
||||
impl BuildRequires {
|
||||
|
@ -27,7 +27,7 @@ impl BuildRequires {
|
|||
requires_dist: metadata
|
||||
.requires_dist
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.map(Requirement::from)
|
||||
.collect(),
|
||||
}
|
||||
}
|
||||
|
@ -124,10 +124,7 @@ impl BuildRequires {
|
|||
})
|
||||
})
|
||||
.collect::<Result<Vec<_>, _>>()?,
|
||||
SourceStrategy::Disabled => requires_dist
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.collect(),
|
||||
SourceStrategy::Disabled => requires_dist.into_iter().map(Requirement::from).collect(),
|
||||
};
|
||||
|
||||
Ok(Self {
|
||||
|
@ -199,10 +196,7 @@ impl BuildRequires {
|
|||
})
|
||||
})
|
||||
.collect::<Result<Vec<_>, _>>()?,
|
||||
SourceStrategy::Disabled => requires_dist
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.collect(),
|
||||
SourceStrategy::Disabled => requires_dist.into_iter().map(Requirement::from).collect(),
|
||||
};
|
||||
|
||||
Ok(Self {
|
||||
|
|
|
@ -7,14 +7,14 @@ use thiserror::Error;
|
|||
use url::Url;
|
||||
|
||||
use uv_distribution_filename::DistExtension;
|
||||
use uv_distribution_types::{Index, IndexLocations, IndexName, Origin};
|
||||
use uv_distribution_types::{
|
||||
Index, IndexLocations, IndexName, Origin, Requirement, RequirementSource,
|
||||
};
|
||||
use uv_git_types::{GitReference, GitUrl, GitUrlParseError};
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep440::VersionSpecifiers;
|
||||
use uv_pep508::{looks_like_git_repository, MarkerTree, VerbatimUrl, VersionOrUrl};
|
||||
use uv_pypi_types::{
|
||||
ConflictItem, ParsedUrlError, Requirement, RequirementSource, VerbatimParsedUrl,
|
||||
};
|
||||
use uv_pypi_types::{ConflictItem, ParsedUrlError, VerbatimParsedUrl};
|
||||
use uv_workspace::pyproject::{PyProjectToml, Source, Sources};
|
||||
use uv_workspace::Workspace;
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ use std::path::Path;
|
|||
use thiserror::Error;
|
||||
|
||||
use uv_configuration::SourceStrategy;
|
||||
use uv_distribution_types::{GitSourceUrl, IndexLocations};
|
||||
use uv_distribution_types::{GitSourceUrl, IndexLocations, Requirement};
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep440::{Version, VersionSpecifiers};
|
||||
use uv_pypi_types::{HashDigests, ResolutionMetadata};
|
||||
|
@ -46,10 +46,10 @@ pub struct Metadata {
|
|||
pub name: PackageName,
|
||||
pub version: Version,
|
||||
// Optional fields
|
||||
pub requires_dist: Vec<uv_pypi_types::Requirement>,
|
||||
pub requires_dist: Vec<Requirement>,
|
||||
pub requires_python: Option<VersionSpecifiers>,
|
||||
pub provides_extras: Vec<ExtraName>,
|
||||
pub dependency_groups: BTreeMap<GroupName, Vec<uv_pypi_types::Requirement>>,
|
||||
pub dependency_groups: BTreeMap<GroupName, Vec<Requirement>>,
|
||||
pub dynamic: bool,
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ impl Metadata {
|
|||
requires_dist: metadata
|
||||
.requires_dist
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.map(Requirement::from)
|
||||
.collect(),
|
||||
requires_python: metadata.requires_python,
|
||||
provides_extras: metadata.provides_extras,
|
||||
|
|
|
@ -5,7 +5,7 @@ use std::slice;
|
|||
use rustc_hash::FxHashSet;
|
||||
|
||||
use uv_configuration::SourceStrategy;
|
||||
use uv_distribution_types::IndexLocations;
|
||||
use uv_distribution_types::{IndexLocations, Requirement};
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName, DEV_DEPENDENCIES};
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_workspace::dependency_groups::FlatDependencyGroups;
|
||||
|
@ -18,9 +18,9 @@ use crate::Metadata;
|
|||
#[derive(Debug, Clone)]
|
||||
pub struct RequiresDist {
|
||||
pub name: PackageName,
|
||||
pub requires_dist: Vec<uv_pypi_types::Requirement>,
|
||||
pub requires_dist: Vec<Requirement>,
|
||||
pub provides_extras: Vec<ExtraName>,
|
||||
pub dependency_groups: BTreeMap<GroupName, Vec<uv_pypi_types::Requirement>>,
|
||||
pub dependency_groups: BTreeMap<GroupName, Vec<Requirement>>,
|
||||
pub dynamic: bool,
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ impl RequiresDist {
|
|||
requires_dist: metadata
|
||||
.requires_dist
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.map(Requirement::from)
|
||||
.collect(),
|
||||
provides_extras: metadata.provides_extras,
|
||||
dependency_groups: BTreeMap::default(),
|
||||
|
@ -186,15 +186,11 @@ impl RequiresDist {
|
|||
)
|
||||
})
|
||||
.collect::<Result<Vec<_>, _>>(),
|
||||
SourceStrategy::Disabled => Ok(requirements
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.collect()),
|
||||
SourceStrategy::Disabled => {
|
||||
Ok(requirements.into_iter().map(Requirement::from).collect())
|
||||
}
|
||||
}?;
|
||||
Ok::<(GroupName, Vec<uv_pypi_types::Requirement>), MetadataError>((
|
||||
name,
|
||||
requirements,
|
||||
))
|
||||
Ok::<(GroupName, Vec<Requirement>), MetadataError>((name, requirements))
|
||||
})
|
||||
.collect::<Result<BTreeMap<_, _>, _>>()?;
|
||||
|
||||
|
@ -227,10 +223,7 @@ impl RequiresDist {
|
|||
})
|
||||
})
|
||||
.collect::<Result<Vec<_>, _>>()?,
|
||||
SourceStrategy::Disabled => requires_dist
|
||||
.into_iter()
|
||||
.map(uv_pypi_types::Requirement::from)
|
||||
.collect(),
|
||||
SourceStrategy::Disabled => requires_dist.into_iter().map(Requirement::from).collect(),
|
||||
};
|
||||
|
||||
Ok(Self {
|
||||
|
@ -360,14 +353,11 @@ impl From<Metadata> for RequiresDist {
|
|||
/// The [`FlatRequiresDist`] struct is used to flatten out the recursive dependencies, i.e., convert
|
||||
/// from the former to the latter.
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub struct FlatRequiresDist(Vec<uv_pypi_types::Requirement>);
|
||||
pub struct FlatRequiresDist(Vec<Requirement>);
|
||||
|
||||
impl FlatRequiresDist {
|
||||
/// Flatten a set of requirements, resolving any self-references.
|
||||
pub fn from_requirements(
|
||||
requirements: Vec<uv_pypi_types::Requirement>,
|
||||
name: &PackageName,
|
||||
) -> Self {
|
||||
pub fn from_requirements(requirements: Vec<Requirement>, name: &PackageName) -> Self {
|
||||
// If there are no self-references, we can return early.
|
||||
if requirements.iter().all(|req| req.name != *name) {
|
||||
return Self(requirements);
|
||||
|
@ -400,7 +390,7 @@ impl FlatRequiresDist {
|
|||
let requirement = {
|
||||
let mut marker = marker;
|
||||
marker.and(requirement.marker);
|
||||
uv_pypi_types::Requirement {
|
||||
Requirement {
|
||||
name: requirement.name.clone(),
|
||||
extras: requirement.extras.clone(),
|
||||
groups: requirement.groups.clone(),
|
||||
|
@ -434,7 +424,7 @@ impl FlatRequiresDist {
|
|||
for req in &requirements {
|
||||
if req.name == *name {
|
||||
if !req.source.is_empty() {
|
||||
flattened.push(uv_pypi_types::Requirement {
|
||||
flattened.push(Requirement {
|
||||
name: req.name.clone(),
|
||||
extras: vec![],
|
||||
groups: req.groups.clone(),
|
||||
|
@ -450,14 +440,14 @@ impl FlatRequiresDist {
|
|||
}
|
||||
|
||||
/// Consume the [`FlatRequiresDist`] and return the inner vector.
|
||||
pub fn into_inner(self) -> Vec<uv_pypi_types::Requirement> {
|
||||
pub fn into_inner(self) -> Vec<Requirement> {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl IntoIterator for FlatRequiresDist {
|
||||
type Item = uv_pypi_types::Requirement;
|
||||
type IntoIter = std::vec::IntoIter<uv_pypi_types::Requirement>;
|
||||
type Item = Requirement;
|
||||
type IntoIter = std::vec::IntoIter<Requirement>;
|
||||
|
||||
fn into_iter(self) -> Self::IntoIter {
|
||||
self.0.into_iter()
|
||||
|
|
|
@ -10,11 +10,11 @@ use uv_distribution::{
|
|||
};
|
||||
use uv_distribution_types::{
|
||||
BuiltDist, CachedDirectUrlDist, CachedDist, Dist, Error, Hashed, IndexLocations, InstalledDist,
|
||||
Name, Resolution, ResolvedDist, SourceDist,
|
||||
Name, RequirementSource, Resolution, ResolvedDist, SourceDist,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_platform_tags::Tags;
|
||||
use uv_pypi_types::{RequirementSource, VerbatimParsedUrl};
|
||||
use uv_pypi_types::VerbatimParsedUrl;
|
||||
use uv_python::PythonEnvironment;
|
||||
use uv_types::HashStrategy;
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ use url::Url;
|
|||
|
||||
use uv_cache_info::CacheInfo;
|
||||
use uv_cache_key::{CanonicalUrl, RepositoryUrl};
|
||||
use uv_distribution_types::{InstalledDirectUrlDist, InstalledDist};
|
||||
use uv_distribution_types::{InstalledDirectUrlDist, InstalledDist, RequirementSource};
|
||||
use uv_git_types::GitOid;
|
||||
use uv_pypi_types::{DirInfo, DirectUrl, RequirementSource, VcsInfo, VcsKind};
|
||||
use uv_pypi_types::{DirInfo, DirectUrl, VcsInfo, VcsKind};
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub(crate) enum RequirementSatisfaction {
|
||||
|
|
|
@ -9,14 +9,14 @@ use rustc_hash::{FxBuildHasher, FxHashMap, FxHashSet};
|
|||
use url::Url;
|
||||
|
||||
use uv_distribution_types::{
|
||||
Diagnostic, InstalledDist, Name, NameRequirementSpecification, UnresolvedRequirement,
|
||||
UnresolvedRequirementSpecification,
|
||||
Diagnostic, InstalledDist, Name, NameRequirementSpecification, Requirement,
|
||||
UnresolvedRequirement, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::{Version, VersionSpecifiers};
|
||||
use uv_pep508::VersionOrUrl;
|
||||
use uv_pypi_types::{Requirement, ResolverMarkerEnvironment, VerbatimParsedUrl};
|
||||
use uv_pypi_types::{ResolverMarkerEnvironment, VerbatimParsedUrl};
|
||||
use uv_python::{Interpreter, PythonEnvironment};
|
||||
use uv_types::InstalledPackagesProvider;
|
||||
use uv_warnings::warn_user;
|
||||
|
|
|
@ -17,7 +17,6 @@ workspace = true
|
|||
|
||||
[dependencies]
|
||||
uv-distribution-filename = { workspace = true }
|
||||
uv-fs = { workspace = true, features = ["serde"] }
|
||||
uv-git-types = { workspace = true }
|
||||
uv-normalize = { workspace = true }
|
||||
uv-pep440 = { workspace = true }
|
||||
|
@ -37,7 +36,6 @@ schemars = { workspace = true, optional = true }
|
|||
serde = { workspace = true }
|
||||
serde-untagged = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
toml = { workspace = true }
|
||||
toml_edit = { workspace = true }
|
||||
tracing = { workspace = true }
|
||||
url = { workspace = true }
|
||||
|
|
|
@ -7,7 +7,6 @@ pub use lenient_requirement::*;
|
|||
pub use marker_environment::*;
|
||||
pub use metadata::*;
|
||||
pub use parsed_url::*;
|
||||
pub use requirement::*;
|
||||
pub use scheme::*;
|
||||
pub use simple_json::*;
|
||||
pub use supported_environments::*;
|
||||
|
@ -21,7 +20,6 @@ mod lenient_requirement;
|
|||
mod marker_environment;
|
||||
mod metadata;
|
||||
mod parsed_url;
|
||||
mod requirement;
|
||||
mod scheme;
|
||||
mod simple_json;
|
||||
mod supported_environments;
|
||||
|
|
|
@ -48,10 +48,12 @@ use url::Url;
|
|||
use uv_client::BaseClient;
|
||||
use uv_client::BaseClientBuilder;
|
||||
use uv_configuration::{NoBinary, NoBuild, PackageNameSpecifier};
|
||||
use uv_distribution_types::{UnresolvedRequirement, UnresolvedRequirementSpecification};
|
||||
use uv_distribution_types::{
|
||||
Requirement, UnresolvedRequirement, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_pep508::{expand_env_vars, Pep508Error, RequirementOrigin, VerbatimUrl};
|
||||
use uv_pypi_types::{Requirement, VerbatimParsedUrl};
|
||||
use uv_pypi_types::VerbatimParsedUrl;
|
||||
|
||||
use crate::requirement::EditableError;
|
||||
pub use crate::requirement::RequirementsTxtRequirement;
|
||||
|
|
|
@ -4,7 +4,7 @@ use futures::{stream::FuturesOrdered, TryStreamExt};
|
|||
|
||||
use uv_distribution::{DistributionDatabase, Reporter};
|
||||
use uv_distribution_types::DistributionMetadata;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_resolver::{InMemoryIndex, MetadataResponse};
|
||||
use uv_types::{BuildContext, HashStrategy};
|
||||
|
||||
|
|
|
@ -5,8 +5,9 @@ pub use crate::sources::*;
|
|||
pub use crate::specification::*;
|
||||
pub use crate::unnamed::*;
|
||||
|
||||
use uv_distribution_types::{Dist, DistErrorKind, GitSourceDist, SourceDist};
|
||||
use uv_pypi_types::{Requirement, RequirementSource};
|
||||
use uv_distribution_types::{
|
||||
Dist, DistErrorKind, GitSourceDist, Requirement, RequirementSource, SourceDist,
|
||||
};
|
||||
|
||||
mod extras;
|
||||
mod lookahead;
|
||||
|
|
|
@ -7,8 +7,7 @@ use tracing::trace;
|
|||
|
||||
use uv_configuration::{Constraints, Overrides};
|
||||
use uv_distribution::{DistributionDatabase, Reporter};
|
||||
use uv_distribution_types::{Dist, DistributionMetadata};
|
||||
use uv_pypi_types::{Requirement, RequirementSource};
|
||||
use uv_distribution_types::{Dist, DistributionMetadata, Requirement, RequirementSource};
|
||||
use uv_resolver::{InMemoryIndex, MetadataResponse, ResolverEnvironment};
|
||||
use uv_types::{BuildContext, HashStrategy, RequestedRequirements};
|
||||
|
||||
|
|
|
@ -9,13 +9,13 @@ use url::Url;
|
|||
|
||||
use uv_configuration::{DependencyGroups, ExtrasSpecification};
|
||||
use uv_distribution::{DistributionDatabase, FlatRequiresDist, Reporter, RequiresDist};
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_distribution_types::{
|
||||
BuildableSource, DirectorySourceUrl, HashGeneration, HashPolicy, SourceUrl, VersionId,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_normalize::{ExtraName, PackageName};
|
||||
use uv_pep508::RequirementOrigin;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_resolver::{InMemoryIndex, MetadataResponse};
|
||||
use uv_types::{BuildContext, HashStrategy};
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ use tracing::instrument;
|
|||
use uv_cache_key::CanonicalUrl;
|
||||
use uv_client::BaseClientBuilder;
|
||||
use uv_configuration::{DependencyGroups, NoBinary, NoBuild};
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_distribution_types::{
|
||||
IndexUrl, NameRequirementSpecification, UnresolvedRequirement,
|
||||
UnresolvedRequirementSpecification,
|
||||
|
@ -43,7 +44,6 @@ use uv_distribution_types::{
|
|||
use uv_fs::{Simplified, CWD};
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep508::{MarkerTree, UnnamedRequirement, UnnamedRequirementUrl};
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_pypi_types::VerbatimParsedUrl;
|
||||
use uv_requirements_txt::{RequirementsTxt, RequirementsTxtRequirement};
|
||||
use uv_warnings::warn_user;
|
||||
|
|
|
@ -9,20 +9,21 @@ use serde::Deserialize;
|
|||
use tracing::debug;
|
||||
use url::Host;
|
||||
|
||||
use crate::Error;
|
||||
use uv_distribution::{DistributionDatabase, Reporter};
|
||||
use uv_distribution_filename::{DistExtension, SourceDistFilename, WheelFilename};
|
||||
use uv_distribution_types::{
|
||||
BuildableSource, DirectSourceUrl, DirectorySourceUrl, GitSourceUrl, PathSourceUrl,
|
||||
RemoteSource, SourceUrl, VersionId,
|
||||
RemoteSource, Requirement, SourceUrl, VersionId,
|
||||
};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep508::{UnnamedRequirement, VersionOrUrl};
|
||||
use uv_pypi_types::{Metadata10, Requirement};
|
||||
use uv_pypi_types::Metadata10;
|
||||
use uv_pypi_types::{ParsedUrl, VerbatimParsedUrl};
|
||||
use uv_resolver::{InMemoryIndex, MetadataResponse};
|
||||
use uv_types::{BuildContext, HashStrategy};
|
||||
|
||||
use crate::Error;
|
||||
|
||||
/// Like [`RequirementsSpecification`], but with concrete names for all requirements.
|
||||
pub struct NamedRequirementsResolver<'a, Context: BuildContext> {
|
||||
/// Whether to check hashes for distributions.
|
||||
|
|
|
@ -25,10 +25,11 @@ use uv_distribution_filename::{
|
|||
BuildTag, DistExtension, ExtensionError, SourceDistExtension, WheelFilename,
|
||||
};
|
||||
use uv_distribution_types::{
|
||||
BuiltDist, DependencyMetadata, DirectUrlBuiltDist, DirectUrlSourceDist, DirectorySourceDist,
|
||||
Dist, DistributionMetadata, FileLocation, GitSourceDist, IndexLocations, IndexUrl, Name,
|
||||
PathBuiltDist, PathSourceDist, RegistryBuiltDist, RegistryBuiltWheel, RegistrySourceDist,
|
||||
RemoteSource, ResolvedDist, StaticMetadata, ToUrlError, UrlString,
|
||||
redact_credentials, BuiltDist, DependencyMetadata, DirectUrlBuiltDist, DirectUrlSourceDist,
|
||||
DirectorySourceDist, Dist, DistributionMetadata, FileLocation, GitSourceDist, IndexLocations,
|
||||
IndexUrl, Name, PathBuiltDist, PathSourceDist, RegistryBuiltDist, RegistryBuiltWheel,
|
||||
RegistrySourceDist, RemoteSource, Requirement, RequirementSource, ResolvedDist, StaticMetadata,
|
||||
ToUrlError, UrlString,
|
||||
};
|
||||
use uv_fs::{relative_to, PortablePath, PortablePathBuf};
|
||||
use uv_git::{RepositoryReference, ResolvedRepositoryReference};
|
||||
|
@ -40,8 +41,7 @@ use uv_platform_tags::{
|
|||
AbiTag, IncompatibleTag, LanguageTag, PlatformTag, TagCompatibility, TagPriority, Tags,
|
||||
};
|
||||
use uv_pypi_types::{
|
||||
redact_credentials, ConflictPackage, Conflicts, HashDigest, HashDigests, ParsedArchiveUrl,
|
||||
ParsedGitUrl, Requirement, RequirementSource,
|
||||
ConflictPackage, Conflicts, HashDigest, HashDigests, ParsedArchiveUrl, ParsedGitUrl,
|
||||
};
|
||||
use uv_small_str::SmallString;
|
||||
use uv_types::{BuildContext, HashStrategy};
|
||||
|
|
|
@ -4,8 +4,8 @@ use std::collections::BTreeSet;
|
|||
use either::Either;
|
||||
|
||||
use uv_configuration::{Constraints, Overrides};
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_types::RequestedRequirements;
|
||||
|
||||
use crate::preferences::Preferences;
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
use uv_pypi_types::RequirementSource;
|
||||
use uv_distribution_types::RequirementSource;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::Operator;
|
||||
|
||||
use crate::resolver::ForkSet;
|
||||
use crate::{DependencyMode, Manifest, ResolverEnvironment};
|
||||
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::Operator;
|
||||
|
||||
#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(deny_unknown_fields, rename_all = "kebab-case")]
|
||||
#[cfg_attr(feature = "clap", derive(clap::ValueEnum))]
|
||||
|
|
|
@ -4,11 +4,12 @@ use std::iter;
|
|||
use either::Either;
|
||||
use pubgrub::Ranges;
|
||||
|
||||
use uv_distribution_types::{Requirement, RequirementSource};
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep440::{Version, VersionSpecifiers};
|
||||
use uv_pypi_types::{
|
||||
Conflicts, ParsedArchiveUrl, ParsedDirectoryUrl, ParsedGitUrl, ParsedPathUrl, ParsedUrl,
|
||||
Requirement, RequirementSource, VerbatimParsedUrl,
|
||||
VerbatimParsedUrl,
|
||||
};
|
||||
|
||||
use crate::pubgrub::{PubGrubPackage, PubGrubPackageInner};
|
||||
|
|
|
@ -12,16 +12,14 @@ use rustc_hash::{FxBuildHasher, FxHashMap, FxHashSet};
|
|||
use uv_configuration::{Constraints, Overrides};
|
||||
use uv_distribution::Metadata;
|
||||
use uv_distribution_types::{
|
||||
Dist, DistributionMetadata, Edge, IndexUrl, Name, Node, ResolutionDiagnostic, ResolvedDist,
|
||||
VersionId, VersionOrUrlRef,
|
||||
Dist, DistributionMetadata, Edge, IndexUrl, Name, Node, Requirement, ResolutionDiagnostic,
|
||||
ResolvedDist, VersionId, VersionOrUrlRef,
|
||||
};
|
||||
use uv_git::GitResolver;
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep440::{Version, VersionSpecifier};
|
||||
use uv_pep508::{MarkerEnvironment, MarkerTree, MarkerTreeKind};
|
||||
use uv_pypi_types::{
|
||||
Conflicts, HashDigests, ParsedUrlError, Requirement, VerbatimParsedUrl, Yanked,
|
||||
};
|
||||
use uv_pypi_types::{Conflicts, HashDigests, ParsedUrlError, VerbatimParsedUrl, Yanked};
|
||||
|
||||
use crate::graph_ops::{marker_reachability, simplify_conflict_markers};
|
||||
use crate::pins::FilePins;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
use rustc_hash::FxHashMap;
|
||||
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_pep508::{MarkerTree, PackageName};
|
||||
use uv_pypi_types::Requirement;
|
||||
|
||||
use crate::ResolverEnvironment;
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use uv_distribution_types::IndexUrl;
|
||||
use uv_distribution_types::{IndexUrl, RequirementSource};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep508::VerbatimUrl;
|
||||
use uv_pypi_types::{ConflictItem, RequirementSource};
|
||||
use uv_pypi_types::ConflictItem;
|
||||
|
||||
use crate::resolver::ForkMap;
|
||||
use crate::{DependencyMode, Manifest, ResolverEnvironment};
|
||||
|
|
|
@ -25,15 +25,15 @@ use uv_distribution::DistributionDatabase;
|
|||
use uv_distribution_types::{
|
||||
BuiltDist, CompatibleDist, DerivationChain, Dist, DistErrorKind, DistributionMetadata,
|
||||
IncompatibleDist, IncompatibleSource, IncompatibleWheel, IndexCapabilities, IndexLocations,
|
||||
IndexUrl, InstalledDist, PythonRequirementKind, RemoteSource, ResolvedDist, ResolvedDistRef,
|
||||
SourceDist, VersionOrUrlRef,
|
||||
IndexUrl, InstalledDist, PythonRequirementKind, RemoteSource, Requirement, ResolvedDist,
|
||||
ResolvedDistRef, SourceDist, VersionOrUrlRef,
|
||||
};
|
||||
use uv_git::GitResolver;
|
||||
use uv_normalize::{ExtraName, GroupName, PackageName};
|
||||
use uv_pep440::{release_specifiers_to_ranges, Version, VersionSpecifiers, MIN_VERSION};
|
||||
use uv_pep508::{MarkerExpression, MarkerOperator, MarkerTree, MarkerValueString};
|
||||
use uv_platform_tags::Tags;
|
||||
use uv_pypi_types::{ConflictItem, ConflictItemRef, Conflicts, Requirement, VerbatimParsedUrl};
|
||||
use uv_pypi_types::{ConflictItem, ConflictItemRef, Conflicts, VerbatimParsedUrl};
|
||||
use uv_types::{BuildContext, HashStrategy, InstalledPackagesProvider};
|
||||
use uv_warnings::warn_user_once;
|
||||
|
||||
|
|
|
@ -2,9 +2,9 @@ use std::sync::Arc;
|
|||
|
||||
use rustc_hash::{FxHashMap, FxHashSet};
|
||||
|
||||
use uv_distribution_types::RequirementSource;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::Version;
|
||||
use uv_pypi_types::RequirementSource;
|
||||
|
||||
use crate::{DependencyMode, Manifest, ResolverEnvironment};
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ workspace = true
|
|||
[dependencies]
|
||||
uv-cache = { workspace = true }
|
||||
uv-dirs = { workspace = true }
|
||||
uv-distribution-types = { workspace = true }
|
||||
uv-fs = { workspace = true }
|
||||
uv-install-wheel = { workspace = true }
|
||||
uv-installer = { workspace = true }
|
||||
|
|
|
@ -2,13 +2,11 @@ use std::fmt::{self, Display, Formatter};
|
|||
use std::path::PathBuf;
|
||||
|
||||
use serde::Deserialize;
|
||||
use toml_edit::value;
|
||||
use toml_edit::Table;
|
||||
use toml_edit::Value;
|
||||
use toml_edit::{Array, Item};
|
||||
use toml_edit::{value, Array, Item, Table, Value};
|
||||
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_fs::{PortablePath, Simplified};
|
||||
use uv_pypi_types::{Requirement, VerbatimParsedUrl};
|
||||
use uv_pypi_types::VerbatimParsedUrl;
|
||||
use uv_settings::ToolOptions;
|
||||
|
||||
/// A tool entry.
|
||||
|
|
|
@ -6,14 +6,12 @@ use url::Url;
|
|||
|
||||
use uv_configuration::HashCheckingMode;
|
||||
use uv_distribution_types::{
|
||||
DistributionMetadata, HashGeneration, HashPolicy, Name, Resolution, UnresolvedRequirement,
|
||||
VersionId,
|
||||
DistributionMetadata, HashGeneration, HashPolicy, Name, Requirement, RequirementSource,
|
||||
Resolution, UnresolvedRequirement, VersionId,
|
||||
};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::Version;
|
||||
use uv_pypi_types::{
|
||||
HashDigest, HashDigests, HashError, Requirement, RequirementSource, ResolverMarkerEnvironment,
|
||||
};
|
||||
use uv_pypi_types::{HashDigest, HashDigests, HashError, ResolverMarkerEnvironment};
|
||||
|
||||
#[derive(Debug, Default, Clone)]
|
||||
pub enum HashStrategy {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
use uv_distribution_types::Requirement;
|
||||
use uv_normalize::ExtraName;
|
||||
use uv_pypi_types::Requirement;
|
||||
|
||||
/// A set of requirements as requested by a parent requirement.
|
||||
///
|
||||
|
|
|
@ -11,11 +11,10 @@ use uv_configuration::{BuildKind, BuildOptions, BuildOutput, ConfigSettings, Sou
|
|||
use uv_distribution_filename::DistFilename;
|
||||
use uv_distribution_types::{
|
||||
CachedDist, DependencyMetadata, DistributionId, IndexCapabilities, IndexLocations,
|
||||
InstalledDist, IsBuildBackendError, Resolution, SourceDist,
|
||||
InstalledDist, IsBuildBackendError, Requirement, Resolution, SourceDist,
|
||||
};
|
||||
use uv_git::GitResolver;
|
||||
use uv_pep508::PackageName;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_python::{Interpreter, PythonEnvironment};
|
||||
use uv_workspace::WorkspaceCache;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ use serde::{de::IntoDeserializer, de::SeqAccess, Deserialize, Deserializer, Seri
|
|||
use thiserror::Error;
|
||||
use url::Url;
|
||||
|
||||
use uv_distribution_types::{Index, IndexName};
|
||||
use uv_distribution_types::{Index, IndexName, RequirementSource};
|
||||
use uv_fs::{relative_to, PortablePathBuf};
|
||||
use uv_git_types::GitReference;
|
||||
use uv_macros::OptionsMetadata;
|
||||
|
@ -27,8 +27,7 @@ use uv_normalize::{DefaultGroups, ExtraName, GroupName, PackageName};
|
|||
use uv_pep440::{Version, VersionSpecifiers};
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_pypi_types::{
|
||||
Conflicts, DependencyGroups, RequirementSource, SchemaConflicts, SupportedEnvironments,
|
||||
VerbatimParsedUrl,
|
||||
Conflicts, DependencyGroups, SchemaConflicts, SupportedEnvironments, VerbatimParsedUrl,
|
||||
};
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
|
|
|
@ -8,14 +8,12 @@ use glob::{glob, GlobError, PatternError};
|
|||
use rustc_hash::{FxHashMap, FxHashSet};
|
||||
use tracing::{debug, trace, warn};
|
||||
|
||||
use uv_distribution_types::Index;
|
||||
use uv_distribution_types::{Index, Requirement, RequirementSource};
|
||||
use uv_fs::{Simplified, CWD};
|
||||
use uv_normalize::{GroupName, PackageName, DEV_DEPENDENCIES};
|
||||
use uv_pep440::VersionSpecifiers;
|
||||
use uv_pep508::{MarkerTree, VerbatimUrl};
|
||||
use uv_pypi_types::{
|
||||
Conflicts, Requirement, RequirementSource, SupportedEnvironments, VerbatimParsedUrl,
|
||||
};
|
||||
use uv_pypi_types::{Conflicts, SupportedEnvironments, VerbatimParsedUrl};
|
||||
use uv_static::EnvVars;
|
||||
use uv_warnings::warn_user_once;
|
||||
|
||||
|
|
|
@ -20,12 +20,12 @@ use uv_configuration::{KeyringProviderType, TargetTriple};
|
|||
use uv_dispatch::{BuildDispatch, SharedState};
|
||||
use uv_distribution_types::{
|
||||
DependencyMetadata, HashGeneration, Index, IndexLocations, NameRequirementSpecification,
|
||||
Origin, UnresolvedRequirementSpecification, Verbatim,
|
||||
Origin, Requirement, UnresolvedRequirementSpecification, Verbatim,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_install_wheel::LinkMode;
|
||||
use uv_normalize::{GroupName, PackageName};
|
||||
use uv_pypi_types::{Conflicts, Requirement, SupportedEnvironments};
|
||||
use uv_pypi_types::{Conflicts, SupportedEnvironments};
|
||||
use uv_python::{
|
||||
EnvironmentPreference, PythonEnvironment, PythonInstallation, PythonPreference, PythonRequest,
|
||||
PythonVersion, VersionRequest,
|
||||
|
|
|
@ -16,15 +16,15 @@ use uv_configuration::{
|
|||
use uv_configuration::{KeyringProviderType, TargetTriple};
|
||||
use uv_dispatch::{BuildDispatch, SharedState};
|
||||
use uv_distribution_types::{
|
||||
DependencyMetadata, Index, IndexLocations, NameRequirementSpecification, Origin, Resolution,
|
||||
UnresolvedRequirementSpecification,
|
||||
DependencyMetadata, Index, IndexLocations, NameRequirementSpecification, Origin, Requirement,
|
||||
Resolution, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_install_wheel::LinkMode;
|
||||
use uv_installer::{SatisfiesResult, SitePackages};
|
||||
use uv_normalize::GroupName;
|
||||
use uv_pep508::PackageName;
|
||||
use uv_pypi_types::{Conflicts, Requirement};
|
||||
use uv_pypi_types::Conflicts;
|
||||
use uv_python::{
|
||||
EnvironmentPreference, Prefix, PythonEnvironment, PythonInstallation, PythonPreference,
|
||||
PythonRequest, PythonVersion, Target,
|
||||
|
|
|
@ -8,10 +8,10 @@ use tracing::debug;
|
|||
use uv_cache::Cache;
|
||||
use uv_client::BaseClientBuilder;
|
||||
use uv_configuration::{DryRun, KeyringProviderType};
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_distribution_types::{InstalledMetadata, Name, UnresolvedRequirement};
|
||||
use uv_fs::Simplified;
|
||||
use uv_pep508::UnnamedRequirement;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_pypi_types::VerbatimParsedUrl;
|
||||
use uv_python::EnvironmentPreference;
|
||||
use uv_python::PythonRequest;
|
||||
|
|
|
@ -23,14 +23,15 @@ use uv_configuration::{
|
|||
use uv_dispatch::BuildDispatch;
|
||||
use uv_distribution::DistributionDatabase;
|
||||
use uv_distribution_types::{
|
||||
Index, IndexName, IndexUrls, NameRequirementSpecification, UnresolvedRequirement, VersionId,
|
||||
redact_credentials, Index, IndexName, IndexUrls, NameRequirementSpecification, Requirement,
|
||||
RequirementSource, UnresolvedRequirement, VersionId,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_git::GIT_STORE;
|
||||
use uv_git_types::GitReference;
|
||||
use uv_normalize::{DefaultGroups, PackageName, DEV_DEPENDENCIES};
|
||||
use uv_pep508::{ExtraName, MarkerTree, Requirement, UnnamedRequirement, VersionOrUrl};
|
||||
use uv_pypi_types::{redact_credentials, ParsedUrl, RequirementSource, VerbatimParsedUrl};
|
||||
use uv_pep508::{ExtraName, MarkerTree, UnnamedRequirement, VersionOrUrl};
|
||||
use uv_pypi_types::{ParsedUrl, VerbatimParsedUrl};
|
||||
use uv_python::{Interpreter, PythonDownloads, PythonEnvironment, PythonPreference, PythonRequest};
|
||||
use uv_requirements::{NamedRequirementsResolver, RequirementsSource, RequirementsSpecification};
|
||||
use uv_resolver::FlatIndex;
|
||||
|
@ -928,7 +929,7 @@ fn augment_requirement(
|
|||
) -> UnresolvedRequirement {
|
||||
match requirement {
|
||||
UnresolvedRequirement::Named(mut requirement) => {
|
||||
UnresolvedRequirement::Named(uv_pypi_types::Requirement {
|
||||
UnresolvedRequirement::Named(Requirement {
|
||||
marker: marker
|
||||
.map(|marker| {
|
||||
requirement.marker.and(marker);
|
||||
|
@ -996,7 +997,7 @@ fn augment_requirement(
|
|||
|
||||
/// Resolves the source for a requirement and processes it into a PEP 508 compliant format.
|
||||
fn resolve_requirement(
|
||||
requirement: uv_pypi_types::Requirement,
|
||||
requirement: Requirement,
|
||||
workspace: bool,
|
||||
editable: Option<bool>,
|
||||
index: Option<IndexName>,
|
||||
|
@ -1004,7 +1005,7 @@ fn resolve_requirement(
|
|||
tag: Option<String>,
|
||||
branch: Option<String>,
|
||||
root: &Path,
|
||||
) -> Result<(Requirement, Option<Source>), anyhow::Error> {
|
||||
) -> Result<(uv_pep508::Requirement, Option<Source>), anyhow::Error> {
|
||||
let result = Source::from_requirement(
|
||||
&requirement.name,
|
||||
requirement.source.clone(),
|
||||
|
@ -1197,7 +1198,7 @@ impl AddTargetSnapshot {
|
|||
#[derive(Debug, Clone)]
|
||||
struct DependencyEdit {
|
||||
dependency_type: DependencyType,
|
||||
requirement: Requirement,
|
||||
requirement: uv_pep508::Requirement,
|
||||
source: Option<Source>,
|
||||
edit: ArrayEdit,
|
||||
}
|
||||
|
|
|
@ -19,12 +19,12 @@ use uv_dispatch::BuildDispatch;
|
|||
use uv_distribution::DistributionDatabase;
|
||||
use uv_distribution_types::{
|
||||
DependencyMetadata, HashGeneration, Index, IndexLocations, NameRequirementSpecification,
|
||||
UnresolvedRequirementSpecification,
|
||||
Requirement, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_git::ResolvedRepositoryReference;
|
||||
use uv_normalize::{GroupName, PackageName};
|
||||
use uv_pep440::Version;
|
||||
use uv_pypi_types::{Conflicts, Requirement, SupportedEnvironments};
|
||||
use uv_pypi_types::{Conflicts, SupportedEnvironments};
|
||||
use uv_python::{Interpreter, PythonDownloads, PythonEnvironment, PythonPreference, PythonRequest};
|
||||
use uv_requirements::upgrade::{read_lock_requirements, LockedRequirements};
|
||||
use uv_requirements::ExtrasResolver;
|
||||
|
|
|
@ -5,10 +5,10 @@ use itertools::Either;
|
|||
|
||||
use uv_configuration::SourceStrategy;
|
||||
use uv_distribution::LoweredRequirement;
|
||||
use uv_distribution_types::{Index, IndexLocations};
|
||||
use uv_distribution_types::{Index, IndexLocations, Requirement};
|
||||
use uv_normalize::{GroupName, PackageName};
|
||||
use uv_pep508::RequirementOrigin;
|
||||
use uv_pypi_types::{Conflicts, Requirement, SupportedEnvironments, VerbatimParsedUrl};
|
||||
use uv_pypi_types::{Conflicts, SupportedEnvironments, VerbatimParsedUrl};
|
||||
use uv_resolver::{Lock, LockVersion, RequiresPython, VERSION};
|
||||
use uv_scripts::Pep723Script;
|
||||
use uv_workspace::dependency_groups::DependencyGroupError;
|
||||
|
|
|
@ -19,7 +19,7 @@ use uv_configuration::{
|
|||
use uv_dispatch::{BuildDispatch, SharedState};
|
||||
use uv_distribution::{DistributionDatabase, LoweredRequirement};
|
||||
use uv_distribution_types::{
|
||||
Index, Resolution, UnresolvedRequirement, UnresolvedRequirementSpecification,
|
||||
Index, Requirement, Resolution, UnresolvedRequirement, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_fs::{LockedFile, Simplified, CWD};
|
||||
use uv_git::ResolvedRepositoryReference;
|
||||
|
@ -27,7 +27,7 @@ use uv_installer::{SatisfiesResult, SitePackages};
|
|||
use uv_normalize::{DefaultGroups, ExtraName, GroupName, PackageName, DEV_DEPENDENCIES};
|
||||
use uv_pep440::{Version, VersionSpecifiers};
|
||||
use uv_pep508::MarkerTreeContents;
|
||||
use uv_pypi_types::{ConflictPackage, ConflictSet, Conflicts, Requirement};
|
||||
use uv_pypi_types::{ConflictPackage, ConflictSet, Conflicts};
|
||||
use uv_python::{
|
||||
EnvironmentPreference, Interpreter, InvalidEnvironmentKind, PythonDownloads, PythonEnvironment,
|
||||
PythonInstallation, PythonPreference, PythonRequest, PythonVariant, PythonVersionFile,
|
||||
|
|
|
@ -7,6 +7,7 @@ use std::{collections::BTreeSet, ffi::OsString};
|
|||
use tracing::{debug, warn};
|
||||
use uv_cache::Cache;
|
||||
use uv_client::BaseClientBuilder;
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_distribution_types::{InstalledDist, Name};
|
||||
#[cfg(unix)]
|
||||
use uv_fs::replace_symlink;
|
||||
|
@ -14,7 +15,6 @@ use uv_fs::Simplified;
|
|||
use uv_installer::SitePackages;
|
||||
use uv_pep440::{Version, VersionSpecifier, VersionSpecifiers};
|
||||
use uv_pep508::PackageName;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_python::{
|
||||
EnvironmentPreference, Interpreter, PythonDownloads, PythonEnvironment, PythonInstallation,
|
||||
PythonPreference, PythonRequest, PythonVariant, VersionRequest,
|
||||
|
|
|
@ -10,11 +10,13 @@ use uv_cache::{Cache, Refresh};
|
|||
use uv_cache_info::Timestamp;
|
||||
use uv_client::BaseClientBuilder;
|
||||
use uv_configuration::{Concurrency, DryRun, PreviewMode, Reinstall, Upgrade};
|
||||
use uv_distribution_types::{NameRequirementSpecification, UnresolvedRequirementSpecification};
|
||||
use uv_distribution_types::{
|
||||
NameRequirementSpecification, Requirement, RequirementSource,
|
||||
UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::{VersionSpecifier, VersionSpecifiers};
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_pypi_types::{Requirement, RequirementSource};
|
||||
use uv_python::{
|
||||
EnvironmentPreference, PythonDownloads, PythonInstallation, PythonPreference, PythonRequest,
|
||||
};
|
||||
|
|
|
@ -19,15 +19,14 @@ use uv_cli::ExternalCommand;
|
|||
use uv_client::BaseClientBuilder;
|
||||
use uv_configuration::{Concurrency, PreviewMode};
|
||||
use uv_distribution_types::{
|
||||
IndexUrl, Name, NameRequirementSpecification, UnresolvedRequirement,
|
||||
UnresolvedRequirementSpecification,
|
||||
IndexUrl, Name, NameRequirementSpecification, Requirement, RequirementSource,
|
||||
UnresolvedRequirement, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use uv_fs::Simplified;
|
||||
use uv_installer::{SatisfiesResult, SitePackages};
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pep440::{VersionSpecifier, VersionSpecifiers};
|
||||
use uv_pep508::MarkerTree;
|
||||
use uv_pypi_types::{Requirement, RequirementSource};
|
||||
use uv_python::VersionRequest;
|
||||
use uv_python::{
|
||||
EnvironmentPreference, PythonDownloads, PythonEnvironment, PythonInstallation,
|
||||
|
|
|
@ -8,9 +8,9 @@ use tracing::debug;
|
|||
use uv_cache::Cache;
|
||||
use uv_client::BaseClientBuilder;
|
||||
use uv_configuration::{Concurrency, DryRun, PreviewMode};
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_fs::CWD;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_python::{
|
||||
EnvironmentPreference, Interpreter, PythonDownloads, PythonInstallation, PythonPreference,
|
||||
PythonRequest,
|
||||
|
|
|
@ -17,10 +17,10 @@ use uv_configuration::{
|
|||
NoBinary, NoBuild, PreviewMode, SourceStrategy,
|
||||
};
|
||||
use uv_dispatch::{BuildDispatch, SharedState};
|
||||
use uv_distribution_types::Requirement;
|
||||
use uv_distribution_types::{DependencyMetadata, Index, IndexLocations};
|
||||
use uv_fs::Simplified;
|
||||
use uv_install_wheel::LinkMode;
|
||||
use uv_pypi_types::Requirement;
|
||||
use uv_python::{
|
||||
EnvironmentPreference, PythonDownloads, PythonInstallation, PythonPreference, PythonRequest,
|
||||
};
|
||||
|
|
|
@ -28,11 +28,11 @@ use uv_configuration::{
|
|||
RequiredVersion, SourceStrategy, TargetTriple, TrustedHost, TrustedPublishing, Upgrade,
|
||||
VersionControlSystem,
|
||||
};
|
||||
use uv_distribution_types::{DependencyMetadata, Index, IndexLocations, IndexUrl};
|
||||
use uv_distribution_types::{DependencyMetadata, Index, IndexLocations, IndexUrl, Requirement};
|
||||
use uv_install_wheel::LinkMode;
|
||||
use uv_normalize::{PackageName, PipGroupName};
|
||||
use uv_pep508::{ExtraName, MarkerTree, RequirementOrigin};
|
||||
use uv_pypi_types::{Requirement, SupportedEnvironments};
|
||||
use uv_pypi_types::SupportedEnvironments;
|
||||
use uv_python::{Prefix, PythonDownloads, PythonPreference, PythonVersion, Target};
|
||||
use uv_resolver::{
|
||||
AnnotationStyle, DependencyMode, ExcludeNewer, ForkStrategy, PrereleaseMode, ResolutionMode,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue