Fix self-dependency check to use case-insensitive PyPI name normalization

This commit is contained in:
Mondo Diaz
2026-02-03 08:23:39 -06:00
parent b2a8c7cfcc
commit d422ed5cd8

View File

@@ -773,7 +773,12 @@ def resolve_dependencies(
# Resolve each dependency first (depth-first) # Resolve each dependency first (depth-first)
for dep in deps: for dep in deps:
# Skip self-dependencies (can happen with PyPI extras like pytest[testing]) # Skip self-dependencies (can happen with PyPI extras like pytest[testing])
if dep.dependency_project == proj_name and dep.dependency_package == pkg_name: # Use case-insensitive comparison and normalize for PyPI naming conventions
dep_proj_normalized = dep.dependency_project.lower()
dep_pkg_normalized = re.sub(r'[-_.]+', '-', dep.dependency_package).lower()
curr_proj_normalized = proj_name.lower()
curr_pkg_normalized = re.sub(r'[-_.]+', '-', pkg_name).lower()
if dep_proj_normalized == curr_proj_normalized and dep_pkg_normalized == curr_pkg_normalized:
continue continue
resolved_dep = _resolve_dependency_to_artifact( resolved_dep = _resolve_dependency_to_artifact(