def METHOD_NAME(
    self, name: NormalizedName, version: Version
) -> dict[str, Any]:
    from poetry.inspection.info import PackageInfo
    self._log(f"Getting info for {name} ({version}) from PyPI", "debug")
    json_data = self._get(f"pypi/{name}/{version}/json")
    if json_data is None:
        raise PackageNotFound(f"Package [{name}] not found.")
    info = json_data["info"]
    data = PackageInfo(
        name=info["name"],
        version=info["version"],
        summary=info["summary"],
        requires_dist=info["requires_dist"],
        requires_python=info["requires_python"],
        files=info.get("files", []),
        yanked=self._get_yanked(info),
        cache_version=str(self.CACHE_VERSION),
    )
    try:
        version_info = json_data["urls"]
    except KeyError:
        version_info = []
    for file_info in version_info:
        if file_info["packagetype"] in SUPPORTED_PACKAGE_TYPES:
            data.files.append(
                {
                    "file": file_info["filename"],
                    "hash": "sha256:" + file_info["digests"]["sha256"],
                }
            )
    if self._fallback and data.requires_dist is None:
        self._log("No dependencies found, downloading archives", level="debug")
        # No dependencies set (along with other information)
        # This might be due to actually no dependencies
        # or badly set metadata when uploading
        # So, we need to make sure there is actually no
        # dependencies by introspecting packages
        urls = defaultdict(list)
        for url in json_data["urls"]:
            # Only get sdist and wheels if they exist
            dist_type = url["packagetype"]
            if dist_type not in SUPPORTED_PACKAGE_TYPES:
                continue
            urls[dist_type].append(url["url"])
        if not urls:
            return data.asdict()
        info = self._get_info_from_urls(urls)
        data.requires_dist = info.requires_dist
        if not data.requires_python:
            data.requires_python = info.requires_python
    return data.asdict()