Skip to content

Commit 1fae847

Browse files
committed
Rename UvRequirement -> Requirement, UvSource -> Source
1 parent bc94672 commit 1fae847

38 files changed

+348
-329
lines changed

crates/distribution-types/src/resolution.rs

+14-14
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use rustc_hash::FxHashMap;
33
use uv_normalize::PackageName;
44

55
use crate::{
6-
BuiltDist, Dist, Name, ParsedGitUrl, ResolvedDist, SourceDist, UvRequirement, UvSource,
6+
BuiltDist, Dist, Name, ParsedGitUrl, Requirement, RequirementSource, ResolvedDist, SourceDist,
77
};
88

99
/// A set of packages pinned at specific versions.
@@ -57,10 +57,10 @@ impl Resolution {
5757
self.0.is_empty()
5858
}
5959

60-
/// Return the set of [`UvRequirement`]s that this resolution represents, exclusive of any
60+
/// Return the set of [`Requirement`]s that this resolution represents, exclusive of any
6161
/// editable requirements.
62-
pub fn requirements(&self) -> Vec<UvRequirement> {
63-
let mut requirements: Vec<UvRequirement> = self
62+
pub fn requirements(&self) -> Vec<Requirement> {
63+
let mut requirements: Vec<Requirement> = self
6464
.0
6565
.values()
6666
// Remove editable requirements
@@ -72,59 +72,59 @@ impl Resolution {
7272
}
7373
}
7474

75-
impl From<&ResolvedDist> for UvRequirement {
75+
impl From<&ResolvedDist> for Requirement {
7676
fn from(resolved_dist: &ResolvedDist) -> Self {
7777
let source = match resolved_dist {
7878
ResolvedDist::Installable(dist) => match dist {
79-
Dist::Built(BuiltDist::Registry(wheel)) => UvSource::Registry {
79+
Dist::Built(BuiltDist::Registry(wheel)) => RequirementSource::Registry {
8080
version: pep440_rs::VersionSpecifiers::from(
8181
pep440_rs::VersionSpecifier::equals_version(wheel.filename.version.clone()),
8282
),
8383
index: None,
8484
},
85-
Dist::Built(BuiltDist::DirectUrl(wheel)) => UvSource::Url {
85+
Dist::Built(BuiltDist::DirectUrl(wheel)) => RequirementSource::Url {
8686
url: wheel.url.clone(),
8787
subdirectory: None,
8888
},
89-
Dist::Built(BuiltDist::Path(wheel)) => UvSource::Path {
89+
Dist::Built(BuiltDist::Path(wheel)) => RequirementSource::Path {
9090
path: wheel.path.clone(),
9191
url: wheel.url.clone(),
9292
editable: None,
9393
},
94-
Dist::Source(SourceDist::Registry(sdist)) => UvSource::Registry {
94+
Dist::Source(SourceDist::Registry(sdist)) => RequirementSource::Registry {
9595
version: pep440_rs::VersionSpecifiers::from(
9696
pep440_rs::VersionSpecifier::equals_version(sdist.filename.version.clone()),
9797
),
9898
index: None,
9999
},
100-
Dist::Source(SourceDist::DirectUrl(sdist)) => UvSource::Url {
100+
Dist::Source(SourceDist::DirectUrl(sdist)) => RequirementSource::Url {
101101
url: sdist.url.clone(),
102102
subdirectory: None,
103103
},
104104
Dist::Source(SourceDist::Git(sdist)) => {
105105
let git_url = ParsedGitUrl::try_from(sdist.url.raw())
106106
.expect("urls must be valid at this point");
107-
UvSource::Git {
107+
RequirementSource::Git {
108108
url: sdist.url.clone(),
109109
repository: git_url.url.repository().clone(),
110110
reference: git_url.url.reference().clone(),
111111
subdirectory: git_url.subdirectory,
112112
}
113113
}
114-
Dist::Source(SourceDist::Path(sdist)) => UvSource::Path {
114+
Dist::Source(SourceDist::Path(sdist)) => RequirementSource::Path {
115115
path: sdist.path.clone(),
116116
url: sdist.url.clone(),
117117
editable: None,
118118
},
119119
},
120-
ResolvedDist::Installed(dist) => UvSource::Registry {
120+
ResolvedDist::Installed(dist) => RequirementSource::Registry {
121121
version: pep440_rs::VersionSpecifiers::from(
122122
pep440_rs::VersionSpecifier::equals_version(dist.version().clone()),
123123
),
124124
index: None,
125125
},
126126
};
127-
UvRequirement {
127+
Requirement {
128128
name: resolved_dist.name().clone(),
129129
extras: vec![],
130130
marker: None,

crates/distribution-types/src/uv_requirement.rs

+22-22
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,29 @@ use indexmap::IndexMap;
55
use url::Url;
66

77
use pep440_rs::VersionSpecifiers;
8-
use pep508_rs::{MarkerEnvironment, MarkerTree, Requirement, VerbatimUrl, VersionOrUrl};
8+
use pep508_rs::{MarkerEnvironment, MarkerTree, VerbatimUrl, VersionOrUrl};
99
use uv_git::GitReference;
1010
use uv_normalize::{ExtraName, PackageName};
1111

1212
use crate::{ParsedUrl, ParsedUrlError};
1313

1414
/// The requirements of a distribution, an extension over PEP 508's requirements.
1515
#[derive(Debug, Clone, Eq, PartialEq)]
16-
pub struct UvRequirements {
17-
pub dependencies: Vec<UvRequirement>,
18-
pub optional_dependencies: IndexMap<ExtraName, Vec<UvRequirement>>,
16+
pub struct Requirements {
17+
pub dependencies: Vec<Requirement>,
18+
pub optional_dependencies: IndexMap<ExtraName, Vec<Requirement>>,
1919
}
2020

2121
/// A representation of dependency on a package, an extension over a PEP 508's requirement.
2222
#[derive(Hash, Debug, Clone, Eq, PartialEq)]
23-
pub struct UvRequirement {
23+
pub struct Requirement {
2424
pub name: PackageName,
2525
pub extras: Vec<ExtraName>,
2626
pub marker: Option<MarkerTree>,
27-
pub source: UvSource,
27+
pub source: RequirementSource,
2828
}
2929

30-
impl UvRequirement {
30+
impl Requirement {
3131
/// Returns whether the markers apply for the given environment.
3232
pub fn evaluate_markers(&self, env: &MarkerEnvironment, extras: &[ExtraName]) -> bool {
3333
if let Some(marker) = &self.marker {
@@ -37,23 +37,23 @@ impl UvRequirement {
3737
}
3838
}
3939

40-
pub fn from_requirement(requirement: Requirement) -> Result<Self, ParsedUrlError> {
40+
pub fn from_requirement(requirement: pep508_rs::Requirement) -> Result<Self, ParsedUrlError> {
4141
let source = match requirement.version_or_url {
42-
None => UvSource::Registry {
42+
None => RequirementSource::Registry {
4343
version: VersionSpecifiers::empty(),
4444
index: None,
4545
},
4646
// The most popular case: Just a name, a version range and maybe extras.
47-
Some(VersionOrUrl::VersionSpecifier(version)) => UvSource::Registry {
47+
Some(VersionOrUrl::VersionSpecifier(version)) => RequirementSource::Registry {
4848
version,
4949
index: None,
5050
},
5151
Some(VersionOrUrl::Url(url)) => {
5252
let direct_url = ParsedUrl::try_from(&url.to_url())?;
53-
UvSource::from_parsed_url(direct_url, url)
53+
RequirementSource::from_parsed_url(direct_url, url)
5454
}
5555
};
56-
Ok(UvRequirement {
56+
Ok(Requirement {
5757
name: requirement.name,
5858
extras: requirement.extras,
5959
marker: requirement.marker,
@@ -62,7 +62,7 @@ impl UvRequirement {
6262
}
6363
}
6464

65-
impl Display for UvRequirement {
65+
impl Display for Requirement {
6666
/// Note: This is for user display, not for requirements.txt
6767
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
6868
write!(f, "{}", self.name)?;
@@ -78,16 +78,16 @@ impl Display for UvRequirement {
7878
)?;
7979
}
8080
match &self.source {
81-
UvSource::Registry { version, index } => {
81+
RequirementSource::Registry { version, index } => {
8282
write!(f, "{version}")?;
8383
if let Some(index) = index {
8484
write!(f, " (index: {index})")?;
8585
}
8686
}
87-
UvSource::Url { url, .. } => {
87+
RequirementSource::Url { url, .. } => {
8888
write!(f, " @ {url}")?;
8989
}
90-
UvSource::Git {
90+
RequirementSource::Git {
9191
url: _,
9292
repository,
9393
reference,
@@ -101,7 +101,7 @@ impl Display for UvRequirement {
101101
writeln!(f, "#subdirectory={}", subdirectory.display())?;
102102
}
103103
}
104-
UvSource::Path { url, .. } => {
104+
RequirementSource::Path { url, .. } => {
105105
write!(f, " @ {url}")?;
106106
}
107107
}
@@ -114,7 +114,7 @@ impl Display for UvRequirement {
114114

115115
/// The different kinds of requirements (version specifier, HTTP(S) URL, git repository, path).
116116
#[derive(Hash, Debug, Clone, Eq, PartialEq)]
117-
pub enum UvSource {
117+
pub enum RequirementSource {
118118
/// The requirement has a version specifier, such as `foo >1,<2`.
119119
Registry {
120120
version: VersionSpecifiers,
@@ -154,21 +154,21 @@ pub enum UvSource {
154154
},
155155
}
156156

157-
impl UvSource {
157+
impl RequirementSource {
158158
pub fn from_parsed_url(parsed_url: ParsedUrl, url: VerbatimUrl) -> Self {
159159
match parsed_url {
160-
ParsedUrl::LocalFile(local_file) => UvSource::Path {
160+
ParsedUrl::LocalFile(local_file) => RequirementSource::Path {
161161
path: local_file.path,
162162
url,
163163
editable: None,
164164
},
165-
ParsedUrl::Git(git) => UvSource::Git {
165+
ParsedUrl::Git(git) => RequirementSource::Git {
166166
url,
167167
repository: git.url.repository().clone(),
168168
reference: git.url.reference().clone(),
169169
subdirectory: git.subdirectory,
170170
},
171-
ParsedUrl::Archive(archive) => UvSource::Url {
171+
ParsedUrl::Archive(archive) => RequirementSource::Url {
172172
url,
173173
subdirectory: archive.subdirectory,
174174
},

crates/requirements-txt/src/lib.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ use tracing::instrument;
4444
use unscanny::{Pattern, Scanner};
4545
use url::Url;
4646

47-
use distribution_types::{ParsedUrlError, UvRequirement};
47+
use distribution_types::{ParsedUrlError, Requirement};
4848
use pep508_rs::{
49-
expand_env_vars, split_scheme, strip_host, Extras, Pep508Error, Pep508ErrorSource, Requirement,
50-
Scheme, VerbatimUrl,
49+
expand_env_vars, split_scheme, strip_host, Extras, Pep508Error, Pep508ErrorSource, Scheme,
50+
VerbatimUrl,
5151
};
5252
#[cfg(feature = "http")]
5353
use uv_client::BaseClient;
@@ -311,7 +311,7 @@ pub struct RequirementsTxt {
311311
/// The actual requirements with the hashes.
312312
pub requirements: Vec<RequirementEntry>,
313313
/// Constraints included with `-c`.
314-
pub constraints: Vec<UvRequirement>,
314+
pub constraints: Vec<Requirement>,
315315
/// Editables with `-e`.
316316
pub editables: Vec<EditableRequirement>,
317317
/// The index URL, specified with `--index-url`.

crates/requirements-txt/src/requirement.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::path::Path;
33

44
use thiserror::Error;
55

6-
use distribution_types::{ParsedUrl, ParsedUrlError, UvRequirement, UvSource};
6+
use distribution_types::{ParsedUrl, ParsedUrlError, RequirementSource};
77
use pep508_rs::{
88
MarkerEnvironment, MarkerTree, Pep508Error, Pep508ErrorSource, UnnamedRequirement,
99
};
@@ -16,7 +16,7 @@ use crate::Requirement;
1616
pub enum RequirementsTxtRequirement {
1717
/// The uv-specific superset over PEP 508 requirements specifier incorporating
1818
/// `tool.uv.sources`.
19-
Uv(UvRequirement),
19+
Uv(Requirement),
2020
/// A PEP 508-like, direct URL dependency specifier.
2121
Unnamed(UnnamedRequirement),
2222
}
@@ -64,21 +64,21 @@ impl RequirementsTxtRequirement {
6464
}
6565

6666
/// Return the version specifier or URL for the requirement.
67-
pub fn source(&self) -> UvSource {
67+
pub fn source(&self) -> RequirementSource {
6868
// TODO(konsti): Error handling
6969
match self {
7070
Self::Uv(requirement) => requirement.source.clone(),
7171
Self::Unnamed(requirement) => {
7272
let parsed_url = ParsedUrl::try_from(&requirement.url.to_url())
7373
.expect("TODO(konsti): scheme not supported");
74-
UvSource::from_parsed_url(parsed_url, requirement.url.clone())
74+
RequirementSource::from_parsed_url(parsed_url, requirement.url.clone())
7575
}
7676
}
7777
}
7878
}
7979

80-
impl From<UvRequirement> for RequirementsTxtRequirement {
81-
fn from(requirement: UvRequirement) -> Self {
80+
impl From<Requirement> for RequirementsTxtRequirement {
81+
fn from(requirement: Requirement) -> Self {
8282
Self::Uv(requirement)
8383
}
8484
}
@@ -104,9 +104,9 @@ impl RequirementsTxtRequirement {
104104
working_dir: impl AsRef<Path>,
105105
) -> Result<Self, RequirementsTxtRequirementError> {
106106
// Attempt to parse as a PEP 508-compliant requirement.
107-
match Requirement::parse(input, &working_dir) {
107+
match pep508_rs::Requirement::parse(input, &working_dir) {
108108
Ok(requirement) => Ok(Self::Uv(
109-
UvRequirement::from_requirement(requirement)
109+
Requirement::from_requirement(requirement)
110110
.map_err(|err| RequirementsTxtRequirementError::ParsedUrl(Box::new(err)))?,
111111
)),
112112
Err(err) => match err.message {

crates/uv-build/src/lib.rs

+16-14
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ use tokio::process::Command;
2525
use tokio::sync::Mutex;
2626
use tracing::{debug, info_span, instrument, Instrument};
2727

28-
use distribution_types::{ParsedUrlError, Resolution, UvRequirement};
28+
use distribution_types::{ParsedUrlError, Requirement, Resolution};
2929
use pep440_rs::Version;
30-
use pep508_rs::{PackageName, Requirement};
30+
use pep508_rs::PackageName;
3131
use uv_configuration::{BuildKind, ConfigSettings, SetupPyStrategy};
3232
use uv_fs::{PythonExt, Simplified};
3333
use uv_interpreter::{Interpreter, PythonEnvironment};
@@ -54,18 +54,20 @@ static WHEEL_NOT_FOUND_RE: Lazy<Regex> =
5454
static DEFAULT_BACKEND: Lazy<Pep517Backend> = Lazy::new(|| Pep517Backend {
5555
backend: "setuptools.build_meta:__legacy__".to_string(),
5656
backend_path: None,
57-
requirements: vec![UvRequirement::from_requirement(
58-
Requirement::from_str("setuptools >= 40.8.0").unwrap(),
57+
requirements: vec![Requirement::from_requirement(
58+
pep508_rs::Requirement::from_str("setuptools >= 40.8.0").unwrap(),
5959
)
6060
.unwrap()],
6161
});
6262

6363
/// The requirements for `--legacy-setup-py` builds.
64-
static SETUP_PY_REQUIREMENTS: Lazy<[UvRequirement; 2]> = Lazy::new(|| {
64+
static SETUP_PY_REQUIREMENTS: Lazy<[Requirement; 2]> = Lazy::new(|| {
6565
[
66-
UvRequirement::from_requirement(Requirement::from_str("setuptools >= 40.8.0").unwrap())
67-
.unwrap(),
68-
UvRequirement::from_requirement(Requirement::from_str("wheel").unwrap()).unwrap(),
66+
Requirement::from_requirement(
67+
pep508_rs::Requirement::from_str("setuptools >= 40.8.0").unwrap(),
68+
)
69+
.unwrap(),
70+
Requirement::from_requirement(pep508_rs::Requirement::from_str("wheel").unwrap()).unwrap(),
6971
]
7072
});
7173

@@ -229,7 +231,7 @@ pub struct Project {
229231
#[serde(rename_all = "kebab-case")]
230232
pub struct BuildSystem {
231233
/// PEP 508 dependencies required to execute the build system.
232-
pub requires: Vec<Requirement>,
234+
pub requires: Vec<pep508_rs::Requirement>,
233235
/// A string naming a Python object that will be used to perform the build.
234236
pub build_backend: Option<String>,
235237
/// Specify that their backend code is hosted in-tree, this key contains a list of directories.
@@ -293,7 +295,7 @@ struct Pep517Backend {
293295
/// <https://peps.python.org/pep-0517/#build-wheel>
294296
backend: String,
295297
/// `build-backend.requirements` in pyproject.toml
296-
requirements: Vec<UvRequirement>,
298+
requirements: Vec<Requirement>,
297299
/// <https://peps.python.org/pep-0517/#in-tree-build-backends>
298300
backend_path: Option<BackendPath>,
299301
}
@@ -579,7 +581,7 @@ impl SourceBuild {
579581
requirements: build_system
580582
.requires
581583
.into_iter()
582-
.map(UvRequirement::from_requirement)
584+
.map(Requirement::from_requirement)
583585
.collect::<Result<_, _>>()
584586
.map_err(|err| Box::new(Error::DirectUrl(err)))?,
585587
}
@@ -953,7 +955,7 @@ async fn create_pep517_build_environment(
953955
})?;
954956

955957
// Deserialize the requirements from the output file.
956-
let extra_requires: Vec<Requirement> = serde_json::from_slice::<Vec<Requirement>>(&contents).map_err(|err| {
958+
let extra_requires: Vec<pep508_rs::Requirement> = serde_json::from_slice::<Vec<pep508_rs::Requirement>>(&contents).map_err(|err| {
957959
Error::from_command_output(
958960
format!(
959961
"Build backend failed to return extra requires with `get_requires_for_build_{build_kind}`: {err}"
@@ -962,9 +964,9 @@ async fn create_pep517_build_environment(
962964
version_id,
963965
)
964966
})?;
965-
let extra_requires: Vec<UvRequirement> = extra_requires
967+
let extra_requires: Vec<Requirement> = extra_requires
966968
.into_iter()
967-
.map(UvRequirement::from_requirement)
969+
.map(Requirement::from_requirement)
968970
.collect::<Result<_, _>>()
969971
.map_err(Error::DirectUrl)?;
970972

0 commit comments

Comments
 (0)