Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/setuptools/_vendor/importlib_metadata/_meta.py: 67%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

15 statements  

1from __future__ import annotations 

2 

3import os 

4from typing import Protocol 

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

6 

7 

8_T = TypeVar("_T") 

9 

10 

11class PackageMetadata(Protocol): 

12 def __len__(self) -> int: ... # pragma: no cover 

13 

14 def __contains__(self, item: str) -> bool: ... # pragma: no cover 

15 

16 def __getitem__(self, key: str) -> str: ... # pragma: no cover 

17 

18 def __iter__(self) -> Iterator[str]: ... # pragma: no cover 

19 

20 @overload 

21 def get( 

22 self, name: str, failobj: None = None 

23 ) -> Optional[str]: ... # pragma: no cover 

24 

25 @overload 

26 def get(self, name: str, failobj: _T) -> Union[str, _T]: ... # pragma: no cover 

27 

28 # overload per python/importlib_metadata#435 

29 @overload 

30 def get_all( 

31 self, name: str, failobj: None = None 

32 ) -> Optional[List[Any]]: ... # 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): 

48 """ 

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

50 """ 

51 

52 def joinpath( 

53 self, other: Union[str, os.PathLike[str]] 

54 ) -> SimplePath: ... # pragma: no cover 

55 

56 def __truediv__( 

57 self, other: Union[str, os.PathLike[str]] 

58 ) -> SimplePath: ... # pragma: no cover 

59 

60 @property 

61 def parent(self) -> SimplePath: ... # pragma: no cover 

62 

63 def read_text(self, encoding=None) -> str: ... # pragma: no cover 

64 

65 def read_bytes(self) -> bytes: ... # pragma: no cover 

66 

67 def exists(self) -> bool: ... # pragma: no cover