ci: check types with mypy by muggenhor · Pull Request #1226 · gitpython-developers/GitPython
# typing --------------------------------------------------------------------
from typing import IO, Any, AnyStr, Dict, Optional, Type, Union from typing import ( Any, AnyStr, Dict, IO, Optional, Type, Union, overload, ) from git.types import TBD
# ---------------------------------------------------------------------------
@overload def safe_decode(s: None) -> None: ...
@overload def safe_decode(s: Union[IO[str], AnyStr]) -> str: ...
def safe_decode(s: Union[IO[str], AnyStr, None]) -> Optional[str]: """Safely decodes a binary string to unicode""" if isinstance(s, str):
@overload def safe_encode(s: None) -> None: ...
@overload def safe_encode(s: AnyStr) -> bytes: ...
def safe_encode(s: Optional[AnyStr]) -> Optional[bytes]: """Safely encodes a binary string to unicode""" if isinstance(s, str):
@overload def win_encode(s: None) -> None: ...
@overload def win_encode(s: AnyStr) -> bytes: ...
def win_encode(s: Optional[AnyStr]) -> Optional[bytes]: """Encode unicodes for process arguments on Windows.""" if isinstance(s, str):
def with_metaclass(meta: Type[Any], *bases: Any) -> 'metaclass': # type: ignore ## mypy cannot understand dynamic class creation """copied from https://github.com/Byron/bcore/blob/master/src/python/butility/future.py#L15"""