From bd750283a553b4ba78e352806e54495cd66061df Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:21:11 +0000 Subject: [PATCH 1/2] Initial plan From 4ec2c16945e9df9d49ef4e5edf7218fc6db5f448 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:25:20 +0000 Subject: [PATCH 2/2] Use regex for parsing dependency version specifiers Co-authored-by: pontemonti <7850950+pontemonti@users.noreply.github.com> --- generate_dependency_diagram.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/generate_dependency_diagram.py b/generate_dependency_diagram.py index bc102049..ff8f1310 100644 --- a/generate_dependency_diagram.py +++ b/generate_dependency_diagram.py @@ -6,6 +6,7 @@ Reads pyproject.toml files and creates a Mermaid diagram showing internal package dependencies. """ +import re import tomllib from pathlib import Path from typing import Dict, List, Set @@ -34,7 +35,8 @@ def extract_dependencies(pyproject_data: Dict, package_names: Set[str]) -> Set[s if 'project' in pyproject_data and 'dependencies' in pyproject_data['project']: for dep in pyproject_data['project']['dependencies']: # Extract package name (before any version specifier) - dep_name = dep.split('>=')[0].split('==')[0].split('<')[0].strip() + # Use regex to handle multiple version specifiers (e.g., "package>=1.0,<2.0") + dep_name = re.split(r'[><=!~]', dep)[0].strip() # Only include if it's one of our internal packages if dep_name in package_names: