##// END OF EJS Templates
wheel: add a platform level to the wheel directories...
wheel: add a platform level to the wheel directories One day, we will gather all wheel in a single directory and be able to pick the right one programmatically. This days is not today… This will help clarify things if we fetch all artifacts at the same time.

File last commit:

r52994:720d9849 default
r53134:05addf26 stable
Show More
typelib.py
55 lines | 1.4 KiB | text/x-python | PythonLexer
# typelib.py - type hint aliases and support
#
# Copyright 2022 Matt Harbison <matt_harbison@yahoo.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import annotations
import typing
from typing import (
Callable,
)
# Note: this is slightly different from pycompat.TYPE_CHECKING, as using
# pycompat causes the BinaryIO_Proxy type to be resolved to ``object`` when
# used as the base class during a pytype run.
TYPE_CHECKING = typing.TYPE_CHECKING
# The BinaryIO class provides empty methods, which at runtime means that
# ``__getattr__`` on the proxy classes won't get called for the methods that
# should delegate to the internal object. So to avoid runtime changes because
# of the required typing inheritance, just use BinaryIO when typechecking, and
# ``object`` otherwise.
if TYPE_CHECKING:
from typing import (
BinaryIO,
Union,
)
from . import (
node,
posix,
util,
windows,
)
BinaryIO_Proxy = BinaryIO
CacheStat = Union[
posix.cachestat,
windows.cachestat,
util.uncacheable_cachestat,
]
NodeConstants = node.sha1nodeconstants
else:
from typing import Any
BinaryIO_Proxy = object
CacheStat = Any
NodeConstants = Any
# scmutil.getuipathfn() related callback.
UiPathFn = Callable[[bytes], bytes]