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
« 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
5_T = TypeVar("_T")
8class PackageMetadata(Protocol):
9 def __len__(self) -> int:
10 ... # pragma: no cover
12 def __contains__(self, item: str) -> bool:
13 ... # pragma: no cover
15 def __getitem__(self, key: str) -> str:
16 ... # pragma: no cover
18 def __iter__(self) -> Iterator[str]:
19 ... # pragma: no cover
21 @overload
22 def get(self, name: str, failobj: None = None) -> Optional[str]:
23 ... # pragma: no cover
25 @overload
26 def get(self, name: str, failobj: _T) -> Union[str, _T]:
27 ... # pragma: no cover
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
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 """
40 @property
41 def json(self) -> Dict[str, Union[str, List[str]]]:
42 """
43 A JSON-compatible form of the metadata.
44 """
47class SimplePath(Protocol[_T]):
48 """
49 A minimal subset of pathlib.Path required by PathDistribution.
50 """
52 def joinpath(self, other: Union[str, _T]) -> _T:
53 ... # pragma: no cover
55 def __truediv__(self, other: Union[str, _T]) -> _T:
56 ... # pragma: no cover
58 @property
59 def parent(self) -> _T:
60 ... # pragma: no cover
62 def read_text(self) -> str:
63 ... # pragma: no cover