class Dependabot::Uv::FileParser::PythonRequirementParser

def pyproject_python_requirement

def pyproject_python_requirement
  return unless pyproject
  pyproject_object = TomlRB.parse(pyproject.content)
  # Check for PEP621 requires-python
  pep621_python = pyproject_object.dig("project", "requires-python")
  return pep621_python if pep621_python
  # Fallback to Poetry configuration
  poetry_object = pyproject_object.dig("tool", "poetry")
  poetry_object&.dig("dependencies", "python") ||
    poetry_object&.dig("dev-dependencies", "python")
end