/usr/share/cagefs-skeleton/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/utils
"""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)
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
_jaraco_text.py
Edit
_log.py
Edit
appdirs.py
Edit
compat.py
Edit
compatibility_tags.py
Edit
datetime.py
Edit
deprecation.py
Edit
direct_url_helpers.py
Edit
egg_link.py
Edit
encoding.py
Edit
entrypoints.py
Edit
filesystem.py
Edit
filetypes.py
Edit
glibc.py
Edit
hashes.py
Edit
logging.py
Edit
misc.py
Edit
models.py
Edit
packaging.py
Edit
setuptools_build.py
Edit
subprocess.py
Edit
temp_dir.py
Edit
unpacking.py
Edit
urls.py
Edit
virtualenv.py
Edit
wheel.py
Edit