404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.216.45.133: ~ $
"""For neatly implementing static typing in pip.

`mypy` - the static type analysis tool we use - uses the `typing` module, which
provides core functionality fundamental to mypy's functioning.

Generally, `typing` would be imported at runtime and used in that fashion -
it acts as a no-op at runtime and does not have any run-time overhead by
design.

As it turns out, `typing` is not vendorable - it uses separate sources for
Python 2/Python 3. Thus, this codebase can not expect it to be present.
To work around this, mypy allows the typing import to be behind a False-y
optional to prevent it from running at runtime and type-comments can be used
to remove the need for the types to be accessible directly during runtime.

This module provides the False-y guard in a nicely named fashion so that a
curious maintainer can reach here to read this.

In pip, all static-typing related imports should be guarded as follows:

    from pip._internal.utils.typing import MYPY_CHECK_RUNNING

    if MYPY_CHECK_RUNNING:
        from typing import ...

Ref: https://github.com/python/mypy/issues/3216
"""

MYPY_CHECK_RUNNING = False


if MYPY_CHECK_RUNNING:
    from typing import cast
else:
    # typing's cast() is needed at runtime, but we don't want to import typing.
    # Thus, we use a dummy no-op version, which we tell mypy to ignore.
    def cast(type_, value):  # type: ignore
        return value

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 2755
__init__.py File 0 B 0644
appdirs.py File 1.32 KB 0644
compat.py File 9.27 KB 0644
compatibility_tags.py File 5.31 KB 0644
datetime.py File 295 B 0644
deprecation.py File 3.24 KB 0644
direct_url_helpers.py File 4.26 KB 0644
distutils_args.py File 1.32 KB 0644
encoding.py File 1.25 KB 0644
entrypoints.py File 1.13 KB 0644
filesystem.py File 6.78 KB 0644
filetypes.py File 571 B 0644
glibc.py File 3.22 KB 0644
hashes.py File 4.57 KB 0644
inject_securetransport.py File 810 B 0644
logging.py File 12.79 KB 0644
misc.py File 27.34 KB 0644
models.py File 1.17 KB 0644
packaging.py File 2.96 KB 0644
parallel.py File 3.32 KB 0644
pkg_resources.py File 1.22 KB 0644
setuptools_build.py File 4.94 KB 0644
subprocess.py File 9.69 KB 0644
temp_dir.py File 8.18 KB 0644
typing.py File 1.37 KB 0644
unpacking.py File 9.27 KB 0644
urls.py File 1.49 KB 0644
virtualenv.py File 3.62 KB 0644
wheel.py File 7.13 KB 0644