Skip to content

Commit

Permalink
feat(pdm): handle PEP 621 dev groups
Browse files Browse the repository at this point in the history
  • Loading branch information
mkniewallner committed Mar 23, 2024
1 parent 545c2b3 commit 437b043
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 14 deletions.
4 changes: 3 additions & 1 deletion python/deptry/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,9 @@ def _get_dependencies(self, dependency_management_format: DependencyManagementFo
if dependency_management_format is DependencyManagementFormat.POETRY:
return PoetryDependencyGetter(self.config, self.package_module_name_map).get()
if dependency_management_format is DependencyManagementFormat.PDM:
return PDMDependencyGetter(self.config, self.package_module_name_map).get()
return PDMDependencyGetter(

Check warning on line 147 in python/deptry/core.py

View check run for this annotation

Codecov / codecov/patch

python/deptry/core.py#L147

Added line #L147 was not covered by tests
self.config, self.package_module_name_map, self.pep621_dev_dependency_groups
).get()
if dependency_management_format is DependencyManagementFormat.PEP_621:
return PEP621DependencyGetter(
self.config, self.package_module_name_map, self.pep621_dev_dependency_groups
Expand Down
5 changes: 4 additions & 1 deletion python/deptry/dependency_getter/pdm.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ class PDMDependencyGetter(PEP621DependencyGetter):
def get(self) -> DependenciesExtract:
pep_621_dependencies_extract = super().get()

return DependenciesExtract(pep_621_dependencies_extract.dependencies, self._get_pdm_dev_dependencies())
return DependenciesExtract(
pep_621_dependencies_extract.dependencies,
[*pep_621_dependencies_extract.dev_dependencies, *self._get_pdm_dev_dependencies()],
)

def _get_pdm_dev_dependencies(self) -> list[Dependency]:
"""
Expand Down
3 changes: 3 additions & 0 deletions tests/data/project_with_pdm/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,8 @@ test = [
"pytest-cov>=4.0.0",
]

[tool.deptry]
pep621_dev_dependency_groups = ["bar"]

[tool.deptry.per_rule_ignores]
DEP002 = ["pkginfo"]
12 changes: 0 additions & 12 deletions tests/functional/cli/test_cli_pdm.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,6 @@ def test_cli_with_pdm(pdm_venv_factory: PDMVenvFactory) -> None:
"column": None,
},
},
{
"error": {
"code": "DEP002",
"message": "'requests' defined as a dependency but not used in the codebase",
},
"module": "requests",
"location": {
"file": str(Path("pyproject.toml")),
"line": None,
"column": None,
},
},
{
"error": {
"code": "DEP004",
Expand Down

0 comments on commit 437b043

Please sign in to comment.