class Dependabot::Uv::Package::PackageDetailsFetcher

def convert_language_version(version)

def convert_language_version(version)
  return ["python", nil] if version.nil? || version == "source"
  # Extract numeric parts dynamically (e.g., "cp37" -> "3.7", "py38" -> "3.8")
  extracted_version = version.scan(/\d+/).join(".")
  # Detect the language implementation
  language_name = if version.start_with?("cp")
                    "cpython" # CPython implementation
                  elsif version.start_with?("py")
                    "python" # General Python compatibility
                  else
                    "unknown" # Fallback for unknown cases
                  end
  # Ensure extracted version is valid before converting
  language_version =
    extracted_version.match?(/^\d+(\.\d+)*$/) ? Dependabot::Version.new(extracted_version) : nil
  Dependabot.logger.warn("Skipping invalid language_version: #{version.inspect}") if language_version.nil?
  [language_name, language_version]
end