SILENT KILLERPanel

Current Path: > > opt > alt > python311 > lib > python3.11 > site-packages > pip > _internal > utils


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 0 bytes November 13 2023 22:00:31.
_log.py File 1015 bytes November 13 2023 22:00:31.
appdirs.py File 1665 bytes November 13 2023 22:00:31.
compat.py File 1884 bytes November 13 2023 22:00:31.
compatibility_tags.py File 5377 bytes November 13 2023 22:00:31.
datetime.py File 242 bytes November 13 2023 22:00:31.
deprecation.py File 3627 bytes November 13 2023 22:00:31.
direct_url_helpers.py File 3206 bytes November 13 2023 22:00:31.
distutils_args.py File 1249 bytes November 13 2023 22:00:31.
egg_link.py File 2203 bytes November 13 2023 22:00:31.
encoding.py File 1169 bytes November 13 2023 22:00:31.
entrypoints.py File 1130 bytes November 13 2023 22:00:31.
filesystem.py File 5893 bytes November 13 2023 22:00:31.
filetypes.py File 716 bytes November 13 2023 22:00:31.
glibc.py File 3110 bytes November 13 2023 22:00:31.
hashes.py File 4811 bytes November 13 2023 22:00:31.
inject_securetransport.py File 795 bytes November 13 2023 22:00:31.
logging.py File 11532 bytes November 13 2023 22:00:31.
misc.py File 20778 bytes November 13 2023 22:00:31.
models.py File 1193 bytes November 13 2023 22:00:31.
packaging.py File 2952 bytes November 13 2023 22:00:31.
parallel.py File 3196 bytes November 13 2023 22:00:31.
pkg_resources.py File 987 bytes November 13 2023 22:00:31.
setuptools_build.py File 4697 bytes November 13 2023 22:00:31.
subprocess.py File 10058 bytes November 13 2023 22:00:31.
temp_dir.py File 7662 bytes November 13 2023 22:00:31.
unpacking.py File 8906 bytes November 13 2023 22:00:31.
urls.py File 1759 bytes November 13 2023 22:00:31.
virtualenv.py File 3459 bytes November 13 2023 22:00:31.
wheel.py File 6163 bytes November 13 2023 22:00:31.

Reading File: //opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/models.py

"""Utilities for defining models
"""

import operator
from typing import Any, Callable, Type


class KeyBasedCompareMixin:
    """Provides comparison capabilities that is based on a key"""

    __slots__ = ["_compare_key", "_defining_class"]

    def __init__(self, key: Any, defining_class: Type["KeyBasedCompareMixin"]) -> None:
        self._compare_key = key
        self._defining_class = defining_class

    def __hash__(self) -> int:
        return hash(self._compare_key)

    def __lt__(self, other: Any) -> bool:
        return self._compare(other, operator.__lt__)

    def __le__(self, other: Any) -> bool:
        return self._compare(other, operator.__le__)

    def __gt__(self, other: Any) -> bool:
        return self._compare(other, operator.__gt__)

    def __ge__(self, other: Any) -> bool:
        return self._compare(other, operator.__ge__)

    def __eq__(self, other: Any) -> bool:
        return self._compare(other, operator.__eq__)

    def _compare(self, other: Any, method: Callable[[Any, Any], bool]) -> bool:
        if not isinstance(other, self._defining_class):
            return NotImplemented

        return method(self._compare_key, other._compare_key)

SILENT KILLER Tool