From 455c79a8f0219ada26f275f62360224d5954ce26 Mon Sep 17 00:00:00 2001 From: Zgardan Date: Tue, 1 Jul 2025 16:56:15 +0200 Subject: [PATCH 1/3] fix: don't add a dependency to a group if it's already listed as main --- src/kapla/projects/kproject.py | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/kapla/projects/kproject.py b/src/kapla/projects/kproject.py index 4f9f250..89649da 100644 --- a/src/kapla/projects/kproject.py +++ b/src/kapla/projects/kproject.py @@ -314,11 +314,16 @@ def _process_extras_and_groups( for group_name, group_dependencies in self.spec.extras.items(): groups[group_name] = Group(dependencies={}) extras[group_name] = [] - visited: Set[str] = set() + # A dependency can get added to dev group while still being in the in the main dependencies + # example: if it's a dependency of a dev dependency, or if it has been listed both as a main + # and a dev dependency by mistake. In that case, it will not be installed with the main dependencies. + # We add all the main dependencies to the visited set to avoid adding them again + visited: Set[str] = set(self.get_dependencies_names(include_extras=False)) for dep in group_dependencies: - if isinstance(dep, str): + dep_items = [(dep, None)] if isinstance(dep, str) else dep.items() + for dep_name, value in dep_items: self._add_dependency_to_group( - dep, + dep_name, group_name, dependencies, extras, @@ -326,20 +331,8 @@ def _process_extras_and_groups( constraints, lock_versions, visited, + value, ) - else: - for key, value in dep.items(): - self._add_dependency_to_group( - key, - group_name, - dependencies, - extras, - groups, - constraints, - lock_versions, - visited, - value, - ) def _add_dependency_to_group( self, From 582eb71fb4a3193395f5de55ae51cf5a79cb1e64 Mon Sep 17 00:00:00 2001 From: Zgardan Date: Tue, 1 Jul 2025 17:33:08 +0200 Subject: [PATCH 2/3] fix: linting --- src/kapla/specs/kproject.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kapla/specs/kproject.py b/src/kapla/specs/kproject.py index cadd982..d8e9df9 100644 --- a/src/kapla/specs/kproject.py +++ b/src/kapla/specs/kproject.py @@ -8,7 +8,7 @@ class DockerImageSpec(AliasedModel): name: str template: Optional[str] = None - build_args: Optional[Dict[str, str]] = None # specific build_arg for this image + build_args: Optional[Dict[str, str]] = None # specific build_arg for this image class DockerSpec(AliasedModel): From 2bc52a2730e52d3c41bb5c0dd1fef795d982fbdd Mon Sep 17 00:00:00 2001 From: Zgardan Date: Tue, 1 Jul 2025 17:35:42 +0200 Subject: [PATCH 3/3] version --- src/kapla/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kapla/__init__.py b/src/kapla/__init__.py index e0d0ed6..d9f2629 100644 --- a/src/kapla/__init__.py +++ b/src/kapla/__init__.py @@ -1 +1 @@ -__version__ = "0.35.0" +__version__ = "0.36.0"