OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
pip
/
_internal
/
utils
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/16/2024 09:01:52 PM
rwxr-xr-x
📄
__init__.py
0 bytes
11/13/2023 09:31:06 PM
rw-r--r--
📁
__pycache__
-
02/16/2024 09:01:52 PM
rwxr-xr-x
📄
_log.py
1015 bytes
03/16/2023 12:55:40 PM
rw-r--r--
📄
appdirs.py
1.32 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
compat.py
9.27 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
compatibility_tags.py
5.31 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
datetime.py
295 bytes
11/13/2023 09:31:06 PM
rw-r--r--
📄
deprecation.py
3.24 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
direct_url_helpers.py
4.26 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
distutils_args.py
1.32 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
egg_link.py
2.07 KB
03/16/2023 12:55:40 PM
rw-r--r--
📄
encoding.py
1.25 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
entrypoints.py
1.19 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
filesystem.py
6.78 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
filetypes.py
571 bytes
11/13/2023 09:31:06 PM
rw-r--r--
📄
glibc.py
3.22 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
hashes.py
4.57 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
inject_securetransport.py
810 bytes
11/13/2023 09:31:06 PM
rw-r--r--
📄
logging.py
12.79 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
misc.py
27.67 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
models.py
1.17 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
packaging.py
2.96 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
parallel.py
3.32 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
pkg_resources.py
1.22 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
setuptools_build.py
4.94 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
subprocess.py
9.69 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
temp_dir.py
8.18 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
typing.py
1.37 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
unpacking.py
9.27 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
urls.py
1.49 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
virtualenv.py
3.62 KB
11/13/2023 09:31:06 PM
rw-r--r--
📄
wheel.py
7.13 KB
11/13/2023 09:31:06 PM
rw-r--r--
Editing: typing.py
Close
"""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