Coverage for src/debputy/plugins/debputy/types.py: 100%

23 statements  

« prev     ^ index     » next       coverage.py v7.8.2, created at 2026-01-26 19:30 +0000

1import dataclasses 

2import typing 

3from collections.abc import Sequence 

4 

5from debian.deb822 import PkgRelation 

6 

7from debputy.manifest_conditions import ManifestCondition 

8from debputy.manifest_parser.base_types import FileSystemMode 

9from debputy.manifest_parser.util import AttributePath 

10 

11 

12@dataclasses.dataclass(slots=True) 

13class DebputyCapability: 

14 capabilities: str 

15 capability_mode: FileSystemMode 

16 definition_source: str 

17 

18 

19class MatchedBuiltUsingRelation(typing.NamedTuple): 

20 is_first: bool 

21 relationship: "PkgRelation.ParsedRelation" 

22 

23 

24class BuiltUsingItem(typing.NamedTuple): 

25 matched_packages: Sequence[MatchedBuiltUsingRelation] 

26 conditional: ManifestCondition | None 

27 attribute_path: AttributePath 

28 

29 

30class StaticBuiltUsing(tuple[BuiltUsingItem, ...]): 

31 pass 

32 

33 

34class BuiltUsing(tuple[BuiltUsingItem, ...]): 

35 pass