17db96d56Sopenharmony_cifrom typing import Any, Dict, Iterator, List, Protocol, TypeVar, Union 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci_T = TypeVar("_T") 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ciclass PackageMetadata(Protocol): 87db96d56Sopenharmony_ci def __len__(self) -> int: 97db96d56Sopenharmony_ci ... # pragma: no cover 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci def __contains__(self, item: str) -> bool: 127db96d56Sopenharmony_ci ... # pragma: no cover 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci def __getitem__(self, key: str) -> str: 157db96d56Sopenharmony_ci ... # pragma: no cover 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci def __iter__(self) -> Iterator[str]: 187db96d56Sopenharmony_ci ... # pragma: no cover 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci def get_all(self, name: str, failobj: _T = ...) -> Union[List[Any], _T]: 217db96d56Sopenharmony_ci """ 227db96d56Sopenharmony_ci Return all values associated with a possibly multi-valued key. 237db96d56Sopenharmony_ci """ 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci @property 267db96d56Sopenharmony_ci def json(self) -> Dict[str, Union[str, List[str]]]: 277db96d56Sopenharmony_ci """ 287db96d56Sopenharmony_ci A JSON-compatible form of the metadata. 297db96d56Sopenharmony_ci """ 307db96d56Sopenharmony_ci 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ciclass SimplePath(Protocol): 337db96d56Sopenharmony_ci """ 347db96d56Sopenharmony_ci A minimal subset of pathlib.Path required by PathDistribution. 357db96d56Sopenharmony_ci """ 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci def joinpath(self) -> 'SimplePath': 387db96d56Sopenharmony_ci ... # pragma: no cover 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci def __truediv__(self) -> 'SimplePath': 417db96d56Sopenharmony_ci ... # pragma: no cover 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ci def parent(self) -> 'SimplePath': 447db96d56Sopenharmony_ci ... # pragma: no cover 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci def read_text(self) -> str: 477db96d56Sopenharmony_ci ... # pragma: no cover 48