dependabot-uv 0.299.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/helpers/build +34 -0
- data/helpers/lib/__init__.py +0 -0
- data/helpers/lib/hasher.py +36 -0
- data/helpers/lib/parser.py +270 -0
- data/helpers/requirements.txt +13 -0
- data/helpers/run.py +22 -0
- data/lib/dependabot/uv/authed_url_builder.rb +31 -0
- data/lib/dependabot/uv/file_fetcher.rb +328 -0
- data/lib/dependabot/uv/file_parser/pipfile_files_parser.rb +192 -0
- data/lib/dependabot/uv/file_parser/pyproject_files_parser.rb +345 -0
- data/lib/dependabot/uv/file_parser/python_requirement_parser.rb +185 -0
- data/lib/dependabot/uv/file_parser/setup_file_parser.rb +193 -0
- data/lib/dependabot/uv/file_parser.rb +437 -0
- data/lib/dependabot/uv/file_updater/compile_file_updater.rb +576 -0
- data/lib/dependabot/uv/file_updater/pyproject_preparer.rb +124 -0
- data/lib/dependabot/uv/file_updater/requirement_file_updater.rb +73 -0
- data/lib/dependabot/uv/file_updater/requirement_replacer.rb +214 -0
- data/lib/dependabot/uv/file_updater.rb +105 -0
- data/lib/dependabot/uv/language.rb +76 -0
- data/lib/dependabot/uv/language_version_manager.rb +114 -0
- data/lib/dependabot/uv/metadata_finder.rb +186 -0
- data/lib/dependabot/uv/name_normaliser.rb +26 -0
- data/lib/dependabot/uv/native_helpers.rb +38 -0
- data/lib/dependabot/uv/package_manager.rb +54 -0
- data/lib/dependabot/uv/pip_compile_file_matcher.rb +38 -0
- data/lib/dependabot/uv/pipenv_runner.rb +108 -0
- data/lib/dependabot/uv/requirement.rb +163 -0
- data/lib/dependabot/uv/requirement_parser.rb +60 -0
- data/lib/dependabot/uv/update_checker/index_finder.rb +227 -0
- data/lib/dependabot/uv/update_checker/latest_version_finder.rb +297 -0
- data/lib/dependabot/uv/update_checker/pip_compile_version_resolver.rb +506 -0
- data/lib/dependabot/uv/update_checker/pip_version_resolver.rb +73 -0
- data/lib/dependabot/uv/update_checker/requirements_updater.rb +391 -0
- data/lib/dependabot/uv/update_checker.rb +317 -0
- data/lib/dependabot/uv/version.rb +321 -0
- data/lib/dependabot/uv.rb +35 -0
- metadata +306 -0
@@ -0,0 +1,321 @@
|
|
1
|
+
# typed: true
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "dependabot/version"
|
5
|
+
require "dependabot/utils"
|
6
|
+
|
7
|
+
# See https://packaging.python.org/en/latest/specifications/version-specifiers for spec details.
|
8
|
+
|
9
|
+
module Dependabot
|
10
|
+
module Uv
|
11
|
+
class Version < Dependabot::Version
|
12
|
+
sig { returns(Integer) }
|
13
|
+
attr_reader :epoch
|
14
|
+
|
15
|
+
sig { returns(T::Array[Integer]) }
|
16
|
+
attr_reader :release_segment
|
17
|
+
|
18
|
+
sig { returns(T.nilable(T::Array[T.any(String, Integer)])) }
|
19
|
+
attr_reader :dev
|
20
|
+
|
21
|
+
sig { returns(T.nilable(T::Array[T.any(String, Integer)])) }
|
22
|
+
attr_reader :pre
|
23
|
+
|
24
|
+
sig { returns(T.nilable(T::Array[T.any(String, Integer)])) }
|
25
|
+
attr_reader :post
|
26
|
+
|
27
|
+
sig { returns(T.nilable(T::Array[T.any(String, Integer)])) }
|
28
|
+
attr_reader :local
|
29
|
+
|
30
|
+
INFINITY = 1000
|
31
|
+
NEGATIVE_INFINITY = -INFINITY
|
32
|
+
|
33
|
+
# See https://peps.python.org/pep-0440/#appendix-b-parsing-version-strings-with-regular-expressions
|
34
|
+
VERSION_PATTERN = /
|
35
|
+
v?
|
36
|
+
(?:
|
37
|
+
(?:(?<epoch>[0-9]+)!)? # epoch
|
38
|
+
(?<release>[0-9]+(?:\.[0-9]+)*) # release
|
39
|
+
(?<pre> # prerelease
|
40
|
+
[-_\.]?
|
41
|
+
(?<pre_l>(a|b|c|rc|alpha|beta|pre|preview))
|
42
|
+
[-_\.]?
|
43
|
+
(?<pre_n>[0-9]+)?
|
44
|
+
)?
|
45
|
+
(?<post> # post release
|
46
|
+
(?:-(?<post_n1>[0-9]+))
|
47
|
+
|
|
48
|
+
(?:
|
49
|
+
[-_\.]?
|
50
|
+
(?<post_l>post|rev|r)
|
51
|
+
[-_\.]?
|
52
|
+
(?<post_n2>[0-9]+)?
|
53
|
+
)
|
54
|
+
)?
|
55
|
+
(?<dev> # dev release
|
56
|
+
[-_\.]?
|
57
|
+
(?<dev_l>dev)
|
58
|
+
[-_\.]?
|
59
|
+
(?<dev_n>[0-9]+)?
|
60
|
+
)?
|
61
|
+
)
|
62
|
+
(?:\+(?<local>[a-z0-9]+(?:[-_\.][a-z0-9]+)*))? # local version
|
63
|
+
/ix
|
64
|
+
|
65
|
+
ANCHORED_VERSION_PATTERN = /\A\s*#{VERSION_PATTERN}\s*\z/
|
66
|
+
|
67
|
+
sig { override.params(version: VersionParameter).returns(T::Boolean) }
|
68
|
+
def self.correct?(version)
|
69
|
+
return false if version.nil?
|
70
|
+
|
71
|
+
version.to_s.match?(ANCHORED_VERSION_PATTERN)
|
72
|
+
end
|
73
|
+
|
74
|
+
sig { override.params(version: VersionParameter).void }
|
75
|
+
def initialize(version)
|
76
|
+
raise Dependabot::BadRequirementError, "Malformed version string - string is nil" if version.nil?
|
77
|
+
|
78
|
+
@version_string = version.to_s
|
79
|
+
|
80
|
+
raise Dependabot::BadRequirementError, "Malformed version string - string is empty" if @version_string.empty?
|
81
|
+
|
82
|
+
matches = ANCHORED_VERSION_PATTERN.match(@version_string.downcase)
|
83
|
+
|
84
|
+
unless matches
|
85
|
+
raise Dependabot::BadRequirementError,
|
86
|
+
"Malformed version string - #{@version_string} does not match regex"
|
87
|
+
end
|
88
|
+
|
89
|
+
@epoch = matches["epoch"].to_i
|
90
|
+
@release_segment = matches["release"]&.split(".")&.map(&:to_i) || []
|
91
|
+
@pre = parse_letter_version(matches["pre_l"], matches["pre_n"])
|
92
|
+
@post = parse_letter_version(matches["post_l"], matches["post_n1"] || matches["post_n2"])
|
93
|
+
@dev = parse_letter_version(matches["dev_l"], matches["dev_n"])
|
94
|
+
@local = parse_local_version(matches["local"])
|
95
|
+
super(matches["release"] || "")
|
96
|
+
end
|
97
|
+
|
98
|
+
sig { override.params(version: VersionParameter).returns(Dependabot::Uv::Version) }
|
99
|
+
def self.new(version)
|
100
|
+
T.cast(super, Dependabot::Uv::Version)
|
101
|
+
end
|
102
|
+
|
103
|
+
sig { returns(String) }
|
104
|
+
def to_s
|
105
|
+
@version_string
|
106
|
+
end
|
107
|
+
|
108
|
+
sig { returns(String) }
|
109
|
+
def inspect # :nodoc:
|
110
|
+
"#<#{self.class} #{@version_string}>"
|
111
|
+
end
|
112
|
+
|
113
|
+
sig { returns(T::Boolean) }
|
114
|
+
def prerelease?
|
115
|
+
!!(pre || dev)
|
116
|
+
end
|
117
|
+
|
118
|
+
sig { returns(Dependabot::Uv::Version) }
|
119
|
+
def release
|
120
|
+
Dependabot::Uv::Version.new(release_segment.join("."))
|
121
|
+
end
|
122
|
+
|
123
|
+
sig { params(other: VersionParameter).returns(Integer) }
|
124
|
+
def <=>(other)
|
125
|
+
other = Dependabot::Uv::Version.new(other.to_s) unless other.is_a?(Dependabot::Uv::Version)
|
126
|
+
other = T.cast(other, Dependabot::Uv::Version)
|
127
|
+
|
128
|
+
epoch_comparison = epoch <=> other.epoch
|
129
|
+
return epoch_comparison unless epoch_comparison.zero?
|
130
|
+
|
131
|
+
release_comparison = release_version_comparison(other)
|
132
|
+
return release_comparison unless release_comparison.zero?
|
133
|
+
|
134
|
+
pre_comparison = compare_keys(pre_cmp_key, other.pre_cmp_key)
|
135
|
+
return pre_comparison unless pre_comparison.zero?
|
136
|
+
|
137
|
+
post_comparison = compare_keys(post_cmp_key, other.post_cmp_key)
|
138
|
+
return post_comparison unless post_comparison.zero?
|
139
|
+
|
140
|
+
dev_comparison = compare_keys(dev_cmp_key, other.dev_cmp_key)
|
141
|
+
return dev_comparison unless dev_comparison.zero?
|
142
|
+
|
143
|
+
compare_keys(local_cmp_key, other.local_cmp_key)
|
144
|
+
end
|
145
|
+
|
146
|
+
sig do
|
147
|
+
params(
|
148
|
+
key: T.any(Integer, T::Array[T.any(String, Integer)]),
|
149
|
+
other_key: T.any(Integer, T::Array[T.any(String, Integer)])
|
150
|
+
).returns(Integer)
|
151
|
+
end
|
152
|
+
def compare_keys(key, other_key)
|
153
|
+
if key.is_a?(Integer) && other_key.is_a?(Integer)
|
154
|
+
key <=> other_key
|
155
|
+
elsif key.is_a?(Array) && other_key.is_a?(Array)
|
156
|
+
key <=> other_key
|
157
|
+
elsif key.is_a?(Integer)
|
158
|
+
key == NEGATIVE_INFINITY ? -1 : 1
|
159
|
+
elsif other_key.is_a?(Integer)
|
160
|
+
other_key == NEGATIVE_INFINITY ? 1 : -1
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
sig { returns(T.any(Integer, T::Array[T.any(String, Integer)])) }
|
165
|
+
def pre_cmp_key
|
166
|
+
if pre.nil? && post.nil? && dev # sort 1.0.dev0 before 1.0a0
|
167
|
+
NEGATIVE_INFINITY
|
168
|
+
elsif pre.nil?
|
169
|
+
INFINITY # versions without a pre-release should sort after those with one.
|
170
|
+
else
|
171
|
+
T.must(pre)
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
sig { returns(T.any(Integer, T::Array[T.any(String, Integer)])) }
|
176
|
+
def local_cmp_key
|
177
|
+
if local.nil?
|
178
|
+
# Versions without a local segment should sort before those with one.
|
179
|
+
NEGATIVE_INFINITY
|
180
|
+
else
|
181
|
+
# According to PEP440.
|
182
|
+
# - Alphanumeric segments sort before numeric segments
|
183
|
+
# - Alphanumeric segments sort lexicographically
|
184
|
+
# - Numeric segments sort numerically
|
185
|
+
# - Shorter versions sort before longer versions when the prefixes match exactly
|
186
|
+
local&.map do |token|
|
187
|
+
if token.is_a?(Integer)
|
188
|
+
[token, ""]
|
189
|
+
else
|
190
|
+
[NEGATIVE_INFINITY, token]
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
sig { returns(T.any(Integer, T::Array[T.any(String, Integer)])) }
|
197
|
+
def post_cmp_key
|
198
|
+
# Versions without a post segment should sort before those with one.
|
199
|
+
return NEGATIVE_INFINITY if post.nil?
|
200
|
+
|
201
|
+
T.must(post)
|
202
|
+
end
|
203
|
+
|
204
|
+
sig { returns(T.any(Integer, T::Array[T.any(String, Integer)])) }
|
205
|
+
def dev_cmp_key
|
206
|
+
# Versions without a dev segment should sort after those with one.
|
207
|
+
return INFINITY if dev.nil?
|
208
|
+
|
209
|
+
T.must(dev)
|
210
|
+
end
|
211
|
+
|
212
|
+
sig { returns(String) }
|
213
|
+
def lowest_prerelease_suffix
|
214
|
+
"dev0"
|
215
|
+
end
|
216
|
+
|
217
|
+
sig { override.returns(T::Array[String]) }
|
218
|
+
def ignored_patch_versions
|
219
|
+
parts = release_segment # e.g [1,2,3] if version is 1.2.3-alpha3
|
220
|
+
version_parts = parts.fill(0, parts.length...2)
|
221
|
+
upper_parts = version_parts.first(1) + [version_parts[1].to_i + 1] + [lowest_prerelease_suffix]
|
222
|
+
lower_bound = "> #{self}"
|
223
|
+
upper_bound = "< #{upper_parts.join('.')}"
|
224
|
+
|
225
|
+
["#{lower_bound}, #{upper_bound}"]
|
226
|
+
end
|
227
|
+
|
228
|
+
sig { override.returns(T::Array[String]) }
|
229
|
+
def ignored_minor_versions
|
230
|
+
parts = release_segment # e.g [1,2,3] if version is 1.2.3-alpha3
|
231
|
+
version_parts = parts.fill(0, parts.length...2)
|
232
|
+
lower_parts = version_parts.first(1) + [version_parts[1].to_i + 1] + [lowest_prerelease_suffix]
|
233
|
+
upper_parts = version_parts.first(0) + [version_parts[0].to_i + 1] + [lowest_prerelease_suffix]
|
234
|
+
lower_bound = ">= #{lower_parts.join('.')}"
|
235
|
+
upper_bound = "< #{upper_parts.join('.')}"
|
236
|
+
|
237
|
+
["#{lower_bound}, #{upper_bound}"]
|
238
|
+
end
|
239
|
+
|
240
|
+
sig { override.returns(T::Array[String]) }
|
241
|
+
def ignored_major_versions
|
242
|
+
version_parts = release_segment # e.g [1,2,3] if version is 1.2.3-alpha3
|
243
|
+
lower_parts = [version_parts[0].to_i + 1] + [lowest_prerelease_suffix] # earliest next major version prerelease
|
244
|
+
lower_bound = ">= #{lower_parts.join('.')}"
|
245
|
+
|
246
|
+
[lower_bound]
|
247
|
+
end
|
248
|
+
|
249
|
+
private
|
250
|
+
|
251
|
+
sig { params(other: Dependabot::Uv::Version).returns(Integer) }
|
252
|
+
def release_version_comparison(other)
|
253
|
+
tokens, other_tokens = pad_for_comparison(release_segment, other.release_segment)
|
254
|
+
tokens <=> other_tokens
|
255
|
+
end
|
256
|
+
|
257
|
+
sig do
|
258
|
+
params(
|
259
|
+
tokens: T::Array[Integer],
|
260
|
+
other_tokens: T::Array[Integer]
|
261
|
+
).returns(T::Array[T::Array[Integer]])
|
262
|
+
end
|
263
|
+
def pad_for_comparison(tokens, other_tokens)
|
264
|
+
tokens = tokens.dup
|
265
|
+
other_tokens = other_tokens.dup
|
266
|
+
|
267
|
+
longer = [tokens, other_tokens].max_by(&:count)
|
268
|
+
shorter = [tokens, other_tokens].min_by(&:count)
|
269
|
+
|
270
|
+
difference = T.must(longer).length - T.must(shorter).length
|
271
|
+
|
272
|
+
difference.times { T.must(shorter) << 0 }
|
273
|
+
|
274
|
+
[tokens, other_tokens]
|
275
|
+
end
|
276
|
+
|
277
|
+
sig { params(local: T.nilable(String)).returns(T.nilable(T::Array[T.any(String, Integer)])) }
|
278
|
+
def parse_local_version(local)
|
279
|
+
return if local.nil?
|
280
|
+
|
281
|
+
# Takes a string like abc.1.twelve and turns it into ["abc", 1, "twelve"]
|
282
|
+
local.split(/[\._-]/).map { |s| /^\d+$/.match?(s) ? s.to_i : s }
|
283
|
+
end
|
284
|
+
|
285
|
+
sig do
|
286
|
+
params(
|
287
|
+
letter: T.nilable(String), number: T.nilable(String)
|
288
|
+
).returns(T.nilable(T::Array[T.any(String, Integer)]))
|
289
|
+
end
|
290
|
+
def parse_letter_version(letter = nil, number = nil)
|
291
|
+
return if letter.nil? && number.nil?
|
292
|
+
|
293
|
+
if letter
|
294
|
+
# Implicit 0 for cases where prerelease has no numeral
|
295
|
+
number ||= 0
|
296
|
+
|
297
|
+
# Normalize alternate spellings
|
298
|
+
if letter == "alpha"
|
299
|
+
letter = "a"
|
300
|
+
elsif letter == "beta"
|
301
|
+
letter = "b"
|
302
|
+
elsif %w(c pre preview).include? letter
|
303
|
+
letter = "rc"
|
304
|
+
elsif %w(rev r).include? letter
|
305
|
+
letter = "post"
|
306
|
+
end
|
307
|
+
|
308
|
+
return letter, number.to_i
|
309
|
+
end
|
310
|
+
|
311
|
+
# Number but no letter i.e. implicit post release syntax (e.g. 1.0-1)
|
312
|
+
letter = "post"
|
313
|
+
|
314
|
+
[letter, number.to_i]
|
315
|
+
end
|
316
|
+
end
|
317
|
+
end
|
318
|
+
end
|
319
|
+
|
320
|
+
Dependabot::Utils
|
321
|
+
.register_version_class("uv", Dependabot::Uv::Version)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
# These all need to be required so the various classes can be registered in a
|
5
|
+
# lookup table of package manager names to concrete classes.
|
6
|
+
require "dependabot/uv/file_fetcher"
|
7
|
+
require "dependabot/uv/file_parser"
|
8
|
+
require "dependabot/uv/update_checker"
|
9
|
+
require "dependabot/uv/file_updater"
|
10
|
+
require "dependabot/uv/metadata_finder"
|
11
|
+
require "dependabot/uv/requirement"
|
12
|
+
require "dependabot/uv/version"
|
13
|
+
require "dependabot/uv/name_normaliser"
|
14
|
+
|
15
|
+
require "dependabot/pull_request_creator/labeler"
|
16
|
+
Dependabot::PullRequestCreator::Labeler
|
17
|
+
.register_label_details("uv", name: "python:uv", colour: "2b67c6")
|
18
|
+
|
19
|
+
require "dependabot/dependency"
|
20
|
+
Dependabot::Dependency.register_production_check(
|
21
|
+
"uv",
|
22
|
+
lambda do |groups|
|
23
|
+
return true if groups.empty?
|
24
|
+
return true if groups.include?("default")
|
25
|
+
return true if groups.include?("install_requires")
|
26
|
+
|
27
|
+
groups.include?("dependencies")
|
28
|
+
end
|
29
|
+
)
|
30
|
+
|
31
|
+
# See https://www.python.org/dev/peps/pep-0503/#normalized-names
|
32
|
+
Dependabot::Dependency.register_name_normaliser(
|
33
|
+
"uv",
|
34
|
+
->(name) { Dependabot::Uv::NameNormaliser.normalise(name) }
|
35
|
+
)
|
metadata
ADDED
@@ -0,0 +1,306 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dependabot-uv
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.299.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dependabot
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-02-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: dependabot-common
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.299.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.299.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: debug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.9.2
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.9.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: gpgme
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '13'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '13'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.12'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.12'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec-its
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.3'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec-sorbet
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.9.2
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.9.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.67.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.67.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-performance
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.22.1
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.22.1
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop-rspec
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.29.1
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 2.29.1
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop-sorbet
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.8.5
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.8.5
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: simplecov
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.22.0
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.22.0
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: turbo_tests
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: 2.2.0
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 2.2.0
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: vcr
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - "~>"
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '6.1'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - "~>"
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '6.1'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: webmock
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - "~>"
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '3.18'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - "~>"
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '3.18'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: webrick
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '1.7'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '1.7'
|
237
|
+
description: Dependabot-uv provides support for bumping Python packages via Dependabot.
|
238
|
+
If you want support for multiple package managers, you probably want the meta-gem
|
239
|
+
dependabot-omnibus.
|
240
|
+
email: opensource@github.com
|
241
|
+
executables: []
|
242
|
+
extensions: []
|
243
|
+
extra_rdoc_files: []
|
244
|
+
files:
|
245
|
+
- helpers/build
|
246
|
+
- helpers/lib/__init__.py
|
247
|
+
- helpers/lib/hasher.py
|
248
|
+
- helpers/lib/parser.py
|
249
|
+
- helpers/requirements.txt
|
250
|
+
- helpers/run.py
|
251
|
+
- lib/dependabot/uv.rb
|
252
|
+
- lib/dependabot/uv/authed_url_builder.rb
|
253
|
+
- lib/dependabot/uv/file_fetcher.rb
|
254
|
+
- lib/dependabot/uv/file_parser.rb
|
255
|
+
- lib/dependabot/uv/file_parser/pipfile_files_parser.rb
|
256
|
+
- lib/dependabot/uv/file_parser/pyproject_files_parser.rb
|
257
|
+
- lib/dependabot/uv/file_parser/python_requirement_parser.rb
|
258
|
+
- lib/dependabot/uv/file_parser/setup_file_parser.rb
|
259
|
+
- lib/dependabot/uv/file_updater.rb
|
260
|
+
- lib/dependabot/uv/file_updater/compile_file_updater.rb
|
261
|
+
- lib/dependabot/uv/file_updater/pyproject_preparer.rb
|
262
|
+
- lib/dependabot/uv/file_updater/requirement_file_updater.rb
|
263
|
+
- lib/dependabot/uv/file_updater/requirement_replacer.rb
|
264
|
+
- lib/dependabot/uv/language.rb
|
265
|
+
- lib/dependabot/uv/language_version_manager.rb
|
266
|
+
- lib/dependabot/uv/metadata_finder.rb
|
267
|
+
- lib/dependabot/uv/name_normaliser.rb
|
268
|
+
- lib/dependabot/uv/native_helpers.rb
|
269
|
+
- lib/dependabot/uv/package_manager.rb
|
270
|
+
- lib/dependabot/uv/pip_compile_file_matcher.rb
|
271
|
+
- lib/dependabot/uv/pipenv_runner.rb
|
272
|
+
- lib/dependabot/uv/requirement.rb
|
273
|
+
- lib/dependabot/uv/requirement_parser.rb
|
274
|
+
- lib/dependabot/uv/update_checker.rb
|
275
|
+
- lib/dependabot/uv/update_checker/index_finder.rb
|
276
|
+
- lib/dependabot/uv/update_checker/latest_version_finder.rb
|
277
|
+
- lib/dependabot/uv/update_checker/pip_compile_version_resolver.rb
|
278
|
+
- lib/dependabot/uv/update_checker/pip_version_resolver.rb
|
279
|
+
- lib/dependabot/uv/update_checker/requirements_updater.rb
|
280
|
+
- lib/dependabot/uv/version.rb
|
281
|
+
homepage: https://github.com/dependabot/dependabot-core
|
282
|
+
licenses:
|
283
|
+
- MIT
|
284
|
+
metadata:
|
285
|
+
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
286
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.299.1
|
287
|
+
post_install_message:
|
288
|
+
rdoc_options: []
|
289
|
+
require_paths:
|
290
|
+
- lib
|
291
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
292
|
+
requirements:
|
293
|
+
- - ">="
|
294
|
+
- !ruby/object:Gem::Version
|
295
|
+
version: 3.1.0
|
296
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
|
+
requirements:
|
298
|
+
- - ">="
|
299
|
+
- !ruby/object:Gem::Version
|
300
|
+
version: 3.1.0
|
301
|
+
requirements: []
|
302
|
+
rubygems_version: 3.5.22
|
303
|
+
signing_key:
|
304
|
+
specification_version: 4
|
305
|
+
summary: Provides Dependabot support for Python uv
|
306
|
+
test_files: []
|