@@ -5,29 +5,29 @@ use indexmap::IndexMap;
5
5
use url:: Url ;
6
6
7
7
use pep440_rs:: VersionSpecifiers ;
8
- use pep508_rs:: { MarkerEnvironment , MarkerTree , Requirement , VerbatimUrl , VersionOrUrl } ;
8
+ use pep508_rs:: { MarkerEnvironment , MarkerTree , VerbatimUrl , VersionOrUrl } ;
9
9
use uv_git:: GitReference ;
10
10
use uv_normalize:: { ExtraName , PackageName } ;
11
11
12
12
use crate :: { ParsedUrl , ParsedUrlError } ;
13
13
14
14
/// The requirements of a distribution, an extension over PEP 508's requirements.
15
15
#[ 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 > > ,
19
19
}
20
20
21
21
/// A representation of dependency on a package, an extension over a PEP 508's requirement.
22
22
#[ derive( Hash , Debug , Clone , Eq , PartialEq ) ]
23
- pub struct UvRequirement {
23
+ pub struct Requirement {
24
24
pub name : PackageName ,
25
25
pub extras : Vec < ExtraName > ,
26
26
pub marker : Option < MarkerTree > ,
27
- pub source : UvSource ,
27
+ pub source : RequirementSource ,
28
28
}
29
29
30
- impl UvRequirement {
30
+ impl Requirement {
31
31
/// Returns whether the markers apply for the given environment.
32
32
pub fn evaluate_markers ( & self , env : & MarkerEnvironment , extras : & [ ExtraName ] ) -> bool {
33
33
if let Some ( marker) = & self . marker {
@@ -37,23 +37,23 @@ impl UvRequirement {
37
37
}
38
38
}
39
39
40
- pub fn from_requirement ( requirement : Requirement ) -> Result < Self , ParsedUrlError > {
40
+ pub fn from_requirement ( requirement : pep508_rs :: Requirement ) -> Result < Self , ParsedUrlError > {
41
41
let source = match requirement. version_or_url {
42
- None => UvSource :: Registry {
42
+ None => RequirementSource :: Registry {
43
43
version : VersionSpecifiers :: empty ( ) ,
44
44
index : None ,
45
45
} ,
46
46
// 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 {
48
48
version,
49
49
index : None ,
50
50
} ,
51
51
Some ( VersionOrUrl :: Url ( url) ) => {
52
52
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)
54
54
}
55
55
} ;
56
- Ok ( UvRequirement {
56
+ Ok ( Requirement {
57
57
name : requirement. name ,
58
58
extras : requirement. extras ,
59
59
marker : requirement. marker ,
@@ -62,7 +62,7 @@ impl UvRequirement {
62
62
}
63
63
}
64
64
65
- impl Display for UvRequirement {
65
+ impl Display for Requirement {
66
66
/// Note: This is for user display, not for requirements.txt
67
67
fn fmt ( & self , f : & mut Formatter < ' _ > ) -> std:: fmt:: Result {
68
68
write ! ( f, "{}" , self . name) ?;
@@ -78,16 +78,16 @@ impl Display for UvRequirement {
78
78
) ?;
79
79
}
80
80
match & self . source {
81
- UvSource :: Registry { version, index } => {
81
+ RequirementSource :: Registry { version, index } => {
82
82
write ! ( f, "{version}" ) ?;
83
83
if let Some ( index) = index {
84
84
write ! ( f, " (index: {index})" ) ?;
85
85
}
86
86
}
87
- UvSource :: Url { url, .. } => {
87
+ RequirementSource :: Url { url, .. } => {
88
88
write ! ( f, " @ {url}" ) ?;
89
89
}
90
- UvSource :: Git {
90
+ RequirementSource :: Git {
91
91
url : _,
92
92
repository,
93
93
reference,
@@ -101,7 +101,7 @@ impl Display for UvRequirement {
101
101
writeln ! ( f, "#subdirectory={}" , subdirectory. display( ) ) ?;
102
102
}
103
103
}
104
- UvSource :: Path { url, .. } => {
104
+ RequirementSource :: Path { url, .. } => {
105
105
write ! ( f, " @ {url}" ) ?;
106
106
}
107
107
}
@@ -114,7 +114,7 @@ impl Display for UvRequirement {
114
114
115
115
/// The different kinds of requirements (version specifier, HTTP(S) URL, git repository, path).
116
116
#[ derive( Hash , Debug , Clone , Eq , PartialEq ) ]
117
- pub enum UvSource {
117
+ pub enum RequirementSource {
118
118
/// The requirement has a version specifier, such as `foo >1,<2`.
119
119
Registry {
120
120
version : VersionSpecifiers ,
@@ -154,21 +154,21 @@ pub enum UvSource {
154
154
} ,
155
155
}
156
156
157
- impl UvSource {
157
+ impl RequirementSource {
158
158
pub fn from_parsed_url ( parsed_url : ParsedUrl , url : VerbatimUrl ) -> Self {
159
159
match parsed_url {
160
- ParsedUrl :: LocalFile ( local_file) => UvSource :: Path {
160
+ ParsedUrl :: LocalFile ( local_file) => RequirementSource :: Path {
161
161
path : local_file. path ,
162
162
url,
163
163
editable : None ,
164
164
} ,
165
- ParsedUrl :: Git ( git) => UvSource :: Git {
165
+ ParsedUrl :: Git ( git) => RequirementSource :: Git {
166
166
url,
167
167
repository : git. url . repository ( ) . clone ( ) ,
168
168
reference : git. url . reference ( ) . clone ( ) ,
169
169
subdirectory : git. subdirectory ,
170
170
} ,
171
- ParsedUrl :: Archive ( archive) => UvSource :: Url {
171
+ ParsedUrl :: Archive ( archive) => RequirementSource :: Url {
172
172
url,
173
173
subdirectory : archive. subdirectory ,
174
174
} ,
0 commit comments