Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/importlib_metadata/_meta.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-07-01 06:54 +0000

1from ._compat import Protocol 

2from typing import Any, Dict, Iterator, List, Optional, TypeVar, Union, overload 

3 

4 

5_T = TypeVar("_T") 

6 

7 

8class PackageMetadata(Protocol): 

9 def __len__(self) -> int: 

10 ... # pragma: no cover 

11 

12 def __contains__(self, item: str) -> bool: 

13 ... # pragma: no cover 

14 

15 def __getitem__(self, key: str) -> str: 

16 ... # pragma: no cover 

17 

18 def __iter__(self) -> Iterator[str]: 

19 ... # pragma: no cover 

20 

21 @overload 

22 def get(self, name: str, failobj: None = None) -> Optional[str]: 

23 ... # pragma: no cover 

24 

25 @overload 

26 def get(self, name: str, failobj: _T) -> Union[str, _T]: 

27 ... # pragma: no cover 

28 

29 # overload per python/importlib_metadata#435 

30 @overload 

31 def get_all(self, name: str, failobj: None = None) -> Optional[List[Any]]: 

32 ... # pragma: no cover 

33 

34 @overload 

35 def get_all(self, name: str, failobj: _T) -> Union[List[Any], _T]: 

36 """ 

37 Return all values associated with a possibly multi-valued key. 

38 """ 

39 

40 @property 

41 def json(self) -> Dict[str, Union[str, List[str]]]: 

42 """ 

43 A JSON-compatible form of the metadata. 

44 """ 

45 

46 

47class SimplePath(Protocol[_T]): 

48 """ 

49 A minimal subset of pathlib.Path required by PathDistribution. 

50 """ 

51 

52 def joinpath(self, other: Union[str, _T]) -> _T: 

53 ... # pragma: no cover 

54 

55 def __truediv__(self, other: Union[str, _T]) -> _T: 

56 ... # pragma: no cover 

57 

58 @property 

59 def parent(self) -> _T: 

60 ... # pragma: no cover 

61 

62 def read_text(self) -> str: 

63 ... # pragma: no cover