class Dependabot::Uv::FileUpdater::PyprojectPreparer

def freeze_dependency(dep_string, deps_to_update_names, locked_deps)

def freeze_dependency(dep_string, deps_to_update_names, locked_deps)
  package_name = dep_string.split(/[=>~<\[]/).first.strip
  normalized_name = Uv::FileParser.normalize_dependency_name(package_name)
  return dep_string if deps_to_update_names.include?(normalized_name)
  version = locked_version_for_dep(locked_deps, normalized_name)
  return dep_string unless version
  if dep_string.include?("=") || dep_string.include?(">") ||
     dep_string.include?("<") || dep_string.include?("~")
    # Replace version constraint with exact version
    dep_string.sub(/[=>~<\[].*$/, "==#{version}")
  else
    # Simple dependency, just append version
    "#{dep_string}==#{version}"
  end
end