class Dependabot::Uv::UpdateChecker::RequirementsUpdater

def updated_pyproject_requirement(req)

def updated_pyproject_requirement(req)
  return req unless latest_resolvable_version
  return req unless req.fetch(:requirement)
  return req if new_version_satisfies?(req) && !has_lockfile
  # If the requirement uses || syntax then we always want to widen it
  return widen_pyproject_requirement(req) if req.fetch(:requirement).match?(PYPROJECT_OR_SEPARATOR)
  # If the requirement is a development dependency we always want to
  # bump it
  return update_pyproject_version(req) if req.fetch(:groups).include?("dev-dependencies")
  case update_strategy
  when RequirementsUpdateStrategy::WidenRanges then widen_pyproject_requirement(req)
  when RequirementsUpdateStrategy::BumpVersions then update_pyproject_version(req)
  when RequirementsUpdateStrategy::BumpVersionsIfNecessary then update_pyproject_version_if_needed(req)
  else raise "Unexpected update strategy: #{update_strategy}"
  end
rescue UnfixableRequirement
  req.merge(requirement: :unfixable)
end