Coverage for sphinx_reports/Adapter/Dependency.py: 77%
13 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-09 22:12 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-09 22:12 +0000
1from importlib.metadata import metadata as importlib_metadata
3from packaging import metadata
4from pyTooling.Decorators import export, readonly
6from sphinx_reports.DataModel.Dependency import Distribution
8# Further Reading:
9# * https://stackoverflow.com/questions/17194301/is-there-any-way-to-show-the-dependency-trees-for-pip-packages
10# * https://www.python.org/success-stories/building-a-dependency-graph-of-our-python-codebase/
11# * https://github.com/thebjorn/pydeps
12# * https://docs.python.org/3/library/importlib.metadata.html
15@export
16class DependencyScanner:
17 _distribution: Distribution
19 def __init__(self, distributionName: str):
20 md1 = importlib_metadata(distributionName)
22 self._distribution = Distribution(distributionName)
24 @readonly
25 def Distribution(self) -> Distribution:
26 return self._distribution