class Dependabot::Uv::FileParser::PyprojectFilesParser

def pep621_dependencies

def pep621_dependencies
  dependencies = Dependabot::FileParsers::Base::DependencySet.new
  # PDM is not yet supported, so we want to ignore it for now because in
  # the current state of things, going on would result in updating
  # pyproject.toml but leaving pdm.lock out of sync, which is
  # undesirable. Leave PDM alone until properly supported
  return dependencies if using_pdm?
  parsed_pep621_dependencies.each do |dep|
    # If a requirement has a `<` or `<=` marker then updating it is
    # probably blocked. Ignore it.
    next if dep["markers"].include?("<")
    # If no requirement, don't add it
    next if dep["requirement"].empty?
    dependencies <<
      Dependency.new(
        name: normalised_name(dep["name"], dep["extras"]),
        version: dep["version"]&.include?("*") ? nil : dep["version"],
        requirements: [{
          requirement: dep["requirement"],
          file: Pathname.new(dep["file"]).cleanpath.to_path,
          source: nil,
          groups: [dep["requirement_type"]].compact
        }],
        package_manager: "uv"
      )
  end
  dependencies
end