From 99a71bf533211df743b5801f913de788259e64cb Mon Sep 17 00:00:00 2001 From: Linlang <30293408+SunsetWolf@users.noreply.github.com> Date: Tue, 9 Dec 2025 17:54:47 +0800 Subject: [PATCH] fix(collect_info): parse package names safely from requirements constraints (#1313) * fix(collect_info): parse package names safely from requirements constraints * chore(collect_info): replace custom requirement parser with packaging.Requirement * chore(collect_info): improve variable naming when parsing package requirements --- rdagent/app/utils/info.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rdagent/app/utils/info.py b/rdagent/app/utils/info.py index 24f78e18..7e79f691 100644 --- a/rdagent/app/utils/info.py +++ b/rdagent/app/utils/info.py @@ -5,6 +5,7 @@ from pathlib import Path import docker import requests +from packaging.requirements import Requirement from setuptools_scm import get_version from rdagent.log import rdagent_logger as logger @@ -69,10 +70,9 @@ def rdagent_info(): ] package_version_list = [] for package in package_list: - if package == "typer[all]": - package = "typer" - version = importlib.metadata.version(package) - package_version_list.append(f"{package}=={version}") + pkg = Requirement(package) + version = importlib.metadata.version(pkg.name) + package_version_list.append(f"{pkg.name}=={version}") logger.info(f"Package version: {package_version_list}") return None