dependabot-python 0.245.0 → 0.247.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb0ff72d3a7bb69adbfc0be78fce0bf085197559897dbb695434742c8c3fc342
4
- data.tar.gz: 44e8e0deade08dde926de4bdc0bf87fa3f2aeb5f81443bf43ae2a757a8eff8ca
3
+ metadata.gz: a1c2d4b06b6d94bcd630b68c25aa77f2325b3d26251ab0ef34656ba96e00d104
4
+ data.tar.gz: 6d8d5767fe28c68b0c5fe6e72999db3f71ba18166d186bec70a74203b72fa9c2
5
5
  SHA512:
6
- metadata.gz: b700d2173a618bea519582853a4814f9505366b5eaa9c5f800dbcc09aeacbbd8279286ae4e02fe0e41e9abc9d0119d52ea61608a9c4e7f7ddef050415733f4db
7
- data.tar.gz: 9614098e559d07658c557620610c80b988f6caf0e6eefc47628c3f02aa6e47742c339c18a029bbfaa986ec644e833f0e7bdfcbe8af3dc12432ae99a72bdabf5c
6
+ metadata.gz: a82fe3e2a7bf8017de7bd9754565f4740a766f75d6ed522fc873e1583d3e0f6a66a0f3cb4df8606e21ef6b5e6011bca16ec08bb52a662b41891612eb45a9b42c
7
+ data.tar.gz: b1946c632da0864b595c10519337c8de69109695ce9f366093b3418159024567df168a378dd6ce4c0003aca1fda301b1bac2f4111737d1ec6f96a4feff37c413
@@ -1,5 +1,5 @@
1
1
  pip==23.3.2
2
- pip-tools==7.3.0
2
+ pip-tools==7.4.1
3
3
  flake8==7.0.0
4
4
  hashin==0.17.0
5
5
  pipenv==2023.11.17
@@ -4,6 +4,7 @@
4
4
  require "cgi"
5
5
  require "excon"
6
6
  require "nokogiri"
7
+ require "sorbet-runtime"
7
8
 
8
9
  require "dependabot/dependency"
9
10
  require "dependabot/python/update_checker"
@@ -16,6 +17,8 @@ module Dependabot
16
17
  module Python
17
18
  class UpdateChecker
18
19
  class LatestVersionFinder
20
+ extend T::Sig
21
+
19
22
  require_relative "index_finder"
20
23
 
21
24
  def initialize(dependency:, dependency_files:, credentials:,
@@ -81,12 +84,21 @@ module Dependabot
81
84
  versions.min
82
85
  end
83
86
 
87
+ sig { params(versions_array: T::Array[T.untyped]).returns(T::Array[T.untyped]) }
84
88
  def filter_yanked_versions(versions_array)
85
- versions_array.reject { |details| details.fetch(:yanked) }
89
+ filtered = versions_array.reject { |details| details.fetch(:yanked) }
90
+ if versions_array.count > filtered.count
91
+ Dependabot.logger.info("Filtered out #{versions_array.count - filtered.count} yanked versions")
92
+ end
93
+ filtered
86
94
  end
87
95
 
96
+ sig do
97
+ params(versions_array: T::Array[T.untyped], python_version: T.nilable(T.any(String, Version)))
98
+ .returns(T::Array[T.untyped])
99
+ end
88
100
  def filter_unsupported_versions(versions_array, python_version)
89
- versions_array.filter_map do |details|
101
+ filtered = versions_array.filter_map do |details|
90
102
  python_requirement = details.fetch(:python_requirement)
91
103
  next details.fetch(:version) unless python_version
92
104
  next details.fetch(:version) unless python_requirement
@@ -94,14 +106,27 @@ module Dependabot
94
106
 
95
107
  details.fetch(:version)
96
108
  end
109
+ if versions_array.count > filtered.count
110
+ delta = versions_array.count - filtered.count
111
+ Dependabot.logger.info("Filtered out #{delta} unsupported Python #{python_version} versions")
112
+ end
113
+ filtered
97
114
  end
98
115
 
116
+ sig { params(versions_array: T::Array[T.untyped]).returns(T::Array[T.untyped]) }
99
117
  def filter_prerelease_versions(versions_array)
100
118
  return versions_array if wants_prerelease?
101
119
 
102
- versions_array.reject(&:prerelease?)
120
+ filtered = versions_array.reject(&:prerelease?)
121
+
122
+ if versions_array.count > filtered.count
123
+ Dependabot.logger.info("Filtered out #{versions_array.count - filtered.count} pre-release versions")
124
+ end
125
+
126
+ filtered
103
127
  end
104
128
 
129
+ sig { params(versions_array: T::Array[T.untyped]).returns(T::Array[T.untyped]) }
105
130
  def filter_ignored_versions(versions_array)
106
131
  filtered = versions_array
107
132
  .reject { |v| ignore_requirements.any? { |r| r.satisfied_by?(v) } }
@@ -109,6 +134,9 @@ module Dependabot
109
134
  raise Dependabot::AllVersionsIgnored
110
135
  end
111
136
 
137
+ if versions_array.count > filtered.count
138
+ Dependabot.logger.info("Filtered out #{versions_array.count - filtered.count} ignored versions")
139
+ end
112
140
  filtered
113
141
  end
114
142
 
@@ -2,9 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "dependabot/python/requirement_parser"
5
+ require "dependabot/python/requirement"
5
6
  require "dependabot/python/update_checker"
6
7
  require "dependabot/python/version"
7
- require "dependabot/python/requirement"
8
+ require "dependabot/requirements_update_strategy"
8
9
 
9
10
  module Dependabot
10
11
  module Python
@@ -31,7 +32,7 @@ module Dependabot
31
32
  end
32
33
 
33
34
  def updated_requirements
34
- return requirements if update_strategy == :lockfile_only
35
+ return requirements if update_strategy == RequirementsUpdateStrategy::LockfileOnly
35
36
 
36
37
  requirements.map do |req|
37
38
  case req[:file]
@@ -89,9 +90,9 @@ module Dependabot
89
90
  return update_pyproject_version(req) if req.fetch(:groups).include?("dev-dependencies")
90
91
 
91
92
  case update_strategy
92
- when :widen_ranges then widen_pyproject_requirement(req)
93
- when :bump_versions then update_pyproject_version(req)
94
- when :bump_versions_if_necessary then update_pyproject_version_if_needed(req)
93
+ when RequirementsUpdateStrategy::WidenRanges then widen_pyproject_requirement(req)
94
+ when RequirementsUpdateStrategy::BumpVersions then update_pyproject_version(req)
95
+ when RequirementsUpdateStrategy::BumpVersionsIfNecessary then update_pyproject_version_if_needed(req)
95
96
  else raise "Unexpected update strategy: #{update_strategy}"
96
97
  end
97
98
  rescue UnfixableRequirement
@@ -190,11 +191,11 @@ module Dependabot
190
191
  return req unless req.fetch(:requirement)
191
192
 
192
193
  case update_strategy
193
- when :widen_ranges
194
+ when RequirementsUpdateStrategy::WidenRanges
194
195
  widen_requirement(req)
195
- when :bump_versions
196
+ when RequirementsUpdateStrategy::BumpVersions
196
197
  update_requirement(req)
197
- when :bump_versions_if_necessary
198
+ when RequirementsUpdateStrategy::BumpVersionsIfNecessary
198
199
  update_requirement_if_needed(req)
199
200
  else
200
201
  raise "Unexpected update strategy: #{update_strategy}"
@@ -5,13 +5,14 @@ require "excon"
5
5
  require "toml-rb"
6
6
 
7
7
  require "dependabot/dependency"
8
- require "dependabot/update_checkers"
9
- require "dependabot/update_checkers/base"
10
- require "dependabot/registry_client"
11
8
  require "dependabot/errors"
12
- require "dependabot/python/requirement"
13
- require "dependabot/python/requirement_parser"
14
9
  require "dependabot/python/name_normaliser"
10
+ require "dependabot/python/requirement_parser"
11
+ require "dependabot/python/requirement"
12
+ require "dependabot/registry_client"
13
+ require "dependabot/requirements_update_strategy"
14
+ require "dependabot/update_checkers"
15
+ require "dependabot/update_checkers/base"
15
16
 
16
17
  module Dependabot
17
18
  module Python
@@ -80,15 +81,15 @@ module Dependabot
80
81
  end
81
82
 
82
83
  def requirements_unlocked_or_can_be?
83
- requirements_update_strategy != :lockfile_only
84
+ requirements_update_strategy != RequirementsUpdateStrategy::LockfileOnly
84
85
  end
85
86
 
86
87
  def requirements_update_strategy
87
88
  # If passed in as an option (in the base class) honour that option
88
- return @requirements_update_strategy.to_sym if @requirements_update_strategy
89
+ return @requirements_update_strategy if @requirements_update_strategy
89
90
 
90
91
  # Otherwise, check if this is a library or not
91
- library? ? :widen_ranges : :bump_versions
92
+ library? ? RequirementsUpdateStrategy::WidenRanges : RequirementsUpdateStrategy::BumpVersions
92
93
  end
93
94
 
94
95
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-python
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.245.0
4
+ version: 0.247.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-22 00:00:00.000000000 Z
11
+ date: 2024-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.245.0
19
+ version: 0.247.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.245.0
26
+ version: 0.247.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: debug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 1.19.0
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.27.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.27.1
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rubocop-sorbet
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -274,7 +288,7 @@ licenses:
274
288
  - Nonstandard
275
289
  metadata:
276
290
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
277
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.245.0
291
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.247.0
278
292
  post_install_message:
279
293
  rdoc_options: []
280
294
  require_paths: